#include <stdio.h>
int main(int argc, const char * argv[]) {
int a[]={6,23,53,15,17,46,23,51,98,88};
int len = sizeof(a)/sizeof(int);
//控制遍数 for (int i = 0; i < len -1; i++) {
//记录最小值的下标 int minLoc = i;
//设置变量,假设第一个元素为最小值 int min=a;
//对未排序的元素进行遍历 for (int j = i+1; j < len; j++) {
//用打擂台法找出最小值,并记录下标 if (min > a[j]) {
//记录最小值 min = a[j];
//记录最小值的下标 minLoc = j;
}
}
//当minLoc不改变时,不用进行交换,否则就是自己与自己交换 if (minLoc != i) {
//将未排序元素中的最小值与前面已经排序的元素的下一位进行交换 int temp = a; a = a[minLoc]; a[minLoc] = temp;
}
}
//遍历打印数组 for (int i = 0; i < len; i++) {
printf("%d ",a);
}
printf("\n"); return 0; }
|