2017-05-05 173 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)