选择排序
原理:对数组进行数组长度大小i的遍历,每次遍历找出最小或最大的那个值与第i个数交换位置(即第一次与第一个数交换,第二次与第二个数交换,第i次与第i个数交换)。
c语言代码实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include <stdio.h> #include <stdlib.h> int main(){ int a[]={3,1,6,8,4,2,9}; int len = sizeof(a)/sizeof(a[0]); for (int k=0;k<len ;k++){ printf("%d ",a[k]); } printf("\n"); for (int i =0 ;i<len ;i++){ for (int j= i+1;j<len;j++){ int mid_temp; if (a[i]>a[j]){ mid_temp = a[j]; a[j] = a[i]; a[i] = mid_temp; } } for (int k=0;k<len ;k++){ printf("%d ",a[k]); } printf("\n"); } system("pause"); return 0; }
|