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

最も簡単なソートアルゴリズムの1つは、挿入ソートです。サンプルの実装または説明を参照する – qxz

答えて

0

以下は、2つの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) 
関連する問題