##################選択ソート#######################
「」「 ソートを選択 ?アイデアは一種かのある 今が配列である連想リスト= [54,226,93,17,77,31,44,55,20] すべての最初のトラバーサル、nは1、ヘッドで最年少置かれます、連想リスト= [17、54,226,93,77,31,44,55,20] トラバースの残りのn-1正面に最小に番目、連想リスト= [17,20 54,226,93,77 、31,44,55] 及び循環された、端部が、全体の配列は、小当たりで 実現するためのプログラム の最初のラウンド、0の最も最小値のインデックス、分= 0、次いでトラバーサル、顔をそれは小さな交換を行うようになった、連想リスト[0]、連想リスト[ 3] =連想リスト[3]、連想リスト[0]は 第二ラウンド、1の最も最小値の添え字、分= 1、次いで場合に、横断それを与えるために小さなが交換に始まり、連想リスト[1]、連想リスト[ 8] =連想リスト[8]、連想リスト[0] 第三ラウンド、添字2の最も最小値、最小= 2、次いで、トラバース、出会いが小さな交流、連想リスト[2]、連想リストを始めた[ 5] =連想リスト[5]、連想リスト[0] 全体的なアイデアは、2つの部分に分割され、全体のシーケンスを置くことであるので、常に置かれているバック、最小の前に行きます 「」"
##################選択ソート#######################
#初版: DEFのselection_sort(連想リスト): N- = LEN(連想リスト) #N-1回の選択操作のために必要な (n-1)の範囲内のiについて: #最小記録位置 min_index I = #I + 1位置から選択された最小データの終わり 範囲におけるJのための(I + 1、N - ): 連想リストIF [J] <連想リスト[min_index]: min_index = Jの #選択されたデータが正しい位置にない場合、交換 連想リスト[i]は、連想リスト[ min_index] =連想リスト[min_index]、連想リスト[I] #第二版: DEFのselection_sort2(連想リスト): N- = LEN(連想リスト) #N-1回の選択操作のために必要 :範囲(N-1)でIため #レコード最小位置 min_index = I 最小位置データから選択されたエンドI + 1〜# 範囲内のjに対して(I + 1 、N): IF連想リスト[J] <連想リスト[min_index]: min_index = Jの #選択されたデータが正しい位置にない場合、交換 min_index = I :! IF 連想リスト[I]、連想リスト[min_index] =連想リスト[min_index]、連想リスト[I 】 IF __name__ == '__main__': 連想リスト= [54,226,93,17,77,31,44,55,20】 プリント(連想リスト) selection_sort(連想リスト) プリント(連想リスト)
##################選択ソート#######################
##################選択ソート#######################
##################選択ソート#######################