-1
#include<stdio.h>
void swap(int a[60],int p, int min){
int temp;
if (min!=p){
temp= a[p];
a[p]=a[min];
a[min]=temp;
}
return;
}
void selection(int a[60]){
int p=0;
do {
int min = p;
for (int i=p+1;i<60;i++){
if(a[min]>a[p])min=p;
}
swap(a,p,min);
p++;
} while(p<60);
}
int main(){
int a[60];
int p=0;
while(p<60){
scanf("%d\n",&a[p]);
p++;
}
selection(a);
p=0;
while(p<60){
printf("%d\n",a[p]);
p++;
}
return 0;
}
- をやっていません。
- アレイ
- 選択機能は、ループの別の配列に最低の要素を見つけ60回
- アレイを通過することができるように、変数pを定義をソート「べきである」と呼ばれている上記で定義された選択機能
- 見出さ、スワップ機能が最小に配列値とPポジション
- を交換した場合、ループは配列
- プリントアレイが
私は、選択ソートのために、このコードを書いたが、それは最初の関数は、標準入力からの60サイズの配列をスキャンし、メインには何も
for (int i=p+1;i<60;i++){
if(a[min]>a[p])min=p;
}
あなたのループが小さいかを確認するためにa[p]
とa[min]
を比較している:
あなたの'の場合([分]> [P])分= P:それはあなたが小さい番号を見つけた場合と比較しての
min
を設定する必要がインデックスです。 'p'は変更されません。私はそうです。 –ようこそ。ツアーに参加して、どのような質問をし、どのようにするのかを学んでください。ここに質問はありません。 –
ありがとう@MayankVerma。 –