2016-10-03 5 views
0

まず、リストをソートする内部コマンドを使用することは許可されていません。選択、バブル。正確に二つの値 を持つことが知られているリストをソートする機能を作曲 すると、これは私がやっていることです:正確に3つの値を持つリストを効率的にソートする関数を作成する(Sage(python))

def sort_Two_values(list): 
Sorted_List=[] 
Sorted_List.append(list[0]) 
for i in range(1,len(list)): 
    if (list[i-1]>list[i]): 
     Sorted_List.insert(0,list[i]) 
    elif (list[i-1]<list[i]): 
     Sorted_List.append(list[i]) 
    else: 
     if (list[i]==Sorted_List[0]): 
      Sorted_List.insert(0,list[i]) 
     else: 
      Sorted_List.append(list[i]) 
return Sorted_List 

sort_Two_values([1,0,0,0,0,0,1,1,0] )

うまくいっているようですね!

今、私は3つの値についてこれをしようとしています。たとえば、[1,0,0,0,2,2,1,0,0,2] 誰かが私を助けてくれますか?

+1

@ Cyclotron3x3 OPによると、[this](http://stackoverflow.com/questions/11067209/sorting-how-to-sort-an-array-that-c​​ontains-3-kind-of-numbers) – Cyclotron3x3

+0

に似ています他のソート方法を使用することはできません。これにはバケットまたはマージソートが含まれます。リンクされた質問への回答には –

答えて

0

リストの0 to beginning, 2 to last1 will remain wherever it isをプッシュするだけです。 ループが終了するまでにソートされたリストが表示されます。

関連する問題