#include <stdio.h> int main(void) { /* 选择排序算法 原理:从数组中 找出最小的元素然后交换位置; */ int a[10] = {9,5,10,7,2,3,1,6,8,4}; int i=0,j=0; int n = sizeof(a)/4; //外循环n-1轮 for(i=0;i<n-1;i++){ int pos = i;//始终指向最小的位置 for(j=i+1;j<n;j++){ if(a[j]<a[pos]){ pos = j;//找出最小元素的那个下标 pos=6 第一次6 } } if(i!=pos){ int temp = a[i]; a[i] = a[pos]; a[pos] = temp; } } //输出 for(i=0;i<n;i++){ printf("a[%d]=%d\n",i,a[i]); } return 0; }