#include <stdio.h>
void main(){
int arr[5] = { 2, 323, 3, 3233, 32 };
int tmp;
for (int i = 0; i < 4; i++) {
for (int j = i + 1; j < 5; j++) {
if (arr[i] > arr[j]) {
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for (int i = 0; i < 5; i++) {
printf("%d\n", arr[i]);
}
getchar();
}
2:查找次數一樣減少交換次數
#include <stdio.h>
void main(){
int arr[5] = { 2, 323, 3, 3233, 32 };
int tmp;
int idx;
for (int i = 0; i < 4; i++) {
idx = i;
for (int j = i + 1; j < 5; j++) {
if (arr[idx] > arr[j]) {
idx = j;
}
}
if (idx != i) {
tmp = arr[i];
arr[i] = arr[idx];
arr[idx] = tmp;
}
}
for (int i = 0; i < 5; i++) {
printf("%d\n", arr[i]);
}
getchar();
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。