选择排序(Selection Sort)---- C 语言学习
时间:2010-10-24 来源:涅槃的猫
如有以下的数据:
7 5 9 3 2 8
则选择排序的处理过程如下:
------------- ↓ ↓ 7 5 9 3 2 8 未排序 - ------- ↓ ↓ 2 5 9 3 7 8 第一遍扫描后 - ---- ↓ ↓ 2 3 9 5 7 8 第二遍扫描后 - ---- ↓ ↓ 2 3 5 9 7 8 第三编扫描后 - ---- ↓ ↓ 2 3 5 7 9 8 第四遍扫描后 - 2 3 5 7 8 9 排序完成
来看看程序代码:
#include "stdio.h" #define NUM 10 void main() { int a[NUM], i, j, r, temp; printf("Please input %d numbers:\n", NUM); for(i = 0; i < NUM; i++)/*输入数据*/ scanf("%d", &a[i]); for(i = 0; i < NUM - 1; i ++)/*扫描 NUM - 1 次*/ { r = i; for(j = i + 1; j < NUM; j ++)/*在一遍扫描中*/ if(a[j] < a[r]) r = j; if(r != i)/*互换*/ { temp = a[i]; a[i] = a[r]; a[r] = temp; } } printf("Now the array after sort:\n"); for(i = 0; i < NUM; i ++) printf("%5d", a[i]); printf("\n"); }
来测试一下看看:
相关阅读 更多 +