選択ソートのためのCプログラム?
選択ソートは、配列から最小の数値を見つけてそれを最初の位置に配置することで機能する攻撃アルゴリズムです。トラバースされる次の配列は、最小の数値が配置されている位置の隣のインデックスから開始されます。
この概念をより明確にするために例を見てみましょう。
この配列には配列{6、3、8、12、9}があります。最小の要素は3です。したがって、最初の位置に3を配置します。その後、配列は{3、6、8、12、 9}。ここでも最小の数が見つかりますが、今回は3が代わりにあるため、検索では考慮しません。次に小さい要素である6を検索し、2番目の位置に6を含む配列を作成してから、配列が並べ替えられるまで配列を再度検索します。
選択ソートアルゴリズムの動作-
次の手順の後に、ソートアルゴリズムを選択します
配列を取りましょう{20、12、23、55、21}
-
配列の最初の要素を最小に設定します。
最小=20
-
最小値を次の要素と比較します。最小値よりも小さい場合は、この要素を最小値として割り当てます。アレイの最後までこれを行います。
12との比較:20> 12、最小=12
23との比較:12 <23、最小=12
55との比較:12 <55、最小=12
21との比較:12 <21、最小=12
-
最小値を配列の最初の位置(インデックス0)に配置します。
配列={12、20、23、55、21}
-
次の反復では、最初の並べ替えられていない要素、つまり最小値が配置されている場所の隣の要素から並べ替えを開始します。
配列={12、20、23、55、21}
検索は20から始まり、最小値が配置される次の要素です。
反復2:
最小=20
23との比較:20 <23、最小=20
55との比較:20 <55、最小=20
21との比較:20 <21、最小=20
最小限の変更なし
配列={12、20、23、55、21}
反復3:
最小=23。
55との比較:23 <55、最小=23
21との比較:23> 21、最小=21
最小値はインデックス=2に移動されます
配列={12、20、21、55、23}
反復4:
最小=55
23との比較:23 <55、最小=23
インデックスに移動した最小値3Array={12、20、21、23、55}
例
#include <stdio.h> int main() { int arr[10]={6,12,0,18,11,99,55,45,34,2}; int n=10; int i, j, position, swap; for (i = 0; i < (n - 1); i++) { position = i; for (j = i + 1; j < n; j++) { if (arr[position] > arr[j]) position = j; } if (position != i) { swap = arr[i]; arr[i] = arr[position]; arr[position] = swap; } } for (i = 0; i < n; i++) printf("%d\t", arr[i]); return 0; }
出力
0 2 6 11 12 18 34 45 55 99
-
Pythonプログラムでの選択ソート
この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-
-
選択ソート用のPythonプログラム
この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでにソートされているサブアレイ ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう- 例