ホームページ >バックエンド開発 >C#.Net チュートリアル >C言語で選択ソートアルゴリズムを実装する方法(コード例)
選択ソート アルゴリズムの基本的な考え方は、配列内の最小の数値を選択し、それを配列の前に置くことです。C 言語では、2 番目の要素から開始して 2 つの for ループを使用できます。配列を逆方向に走査し、最小の数値を見つけて最初の位置に置き、次に残りの配列から最小の数値を見つけて 2 番目の位置に置き、というように配列がソートされるまで繰り返します。
#選択ソート方法の実装原則:
まず次の番号を決定します。インデックスが 0 であるかどうか、そうでない場合は、最小の数値が最初の要素ではないことを意味し、この数値と最初の要素が交換されるため、1 ラウンド内の最小の数値が見つけられ、最も遠い番号に配置されます。左。【ビデオチュートリアルの推奨: C 言語チュートリアル】
# #コード例: 選択ソート メソッドを使用して、手動で入力された一連のデータを小さいものから大きいものに並べ替えます。データは 52、36、2、39、56、45、78 です。 、92、15、52。
実装コード:#include <stdio.h>
int main()
{
int i,j,t,a[11]; //定义变量及数组为基本整型
printf("请输入10个数:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]); //从键盘中输入要排序的10个数字
for(i=1;i<=9;i++)
for (j=i+1;j<=10;j++)
if(a[i]>a[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
printf("排序后的顺序是:\n");
for(i=1;i<=10;i++)
printf("%5d", a[i]); //输出排序后的数组
printf("\n");
return 0;
}
出力:
コードでは 2 つの for ループ ステートメントが使用されています。最初の for ループは位置を決定し、並べ替えられるシーケンスからの各選択と交換の後に選択された最小の数値を格納します。 2 番目の for ループは、特定の位置の数値を、ソート対象となる後続の間隔の数値と比較します。
以上がC言語で選択ソートアルゴリズムを実装する方法(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。