2017-05-05 24 views
-3

如何用while循環對列表進行排序?有一點問題,非常感謝。如何使用Python中的while循環對列表進行排序?

a = [12,0,39,50,1] 

first = a[0] 

i = 0 
j = 1 
while i < len(a): 
    if a[i] < first: 
     tmp = a[i] 
     a[i] = a[j] 
     a[j] = tmp 
    i += 1 

print(a) 
+1

其中最簡單的排序算法是插入排序;查找示例實現或解釋 – qxz

回答

0

以下是使用兩個while循環進行基本排序的實現。 在每次迭代中,挑選未排序的子數組中的最小元素(考慮升序),並將其移動到排序後的子數組中。 :

a=[12,0,39,50,1] 
i=0 
while i<len(a): 
    key=i 
    j=i+1 
    while j<len(a): 
     if a[key]>a[j]: 
      key=j 
     j+=1 
    a[i],a[key]=a[key],a[i] 
    i+=1 
print(a)