//插入排序(C语言版) #includeint main(void) { int a[10] = {0}; int i = 0, j = 0, flag = 0;//变量之间用,隔开 //从键盘获取10个无序排列的数组元素 printf("请输入10个数组元素:n"); for(i = 0; i < 10; i++) { scanf("%d", &a[i]);//scanf语句要用到&取地址符 } //插入排序 for(i = 1; i < 10; i++) { flag = a[i]; //1.结构 + 2.语法 = 编程 //1.algerithms + 2.datastructures = programs for(j = i-1; j >= 0; j--) { if(a[j] < flag) //(<从大到小,>从小到大,类似于冒泡排序) { a[j+1] = a[j]; } else { break; } } a[j+1] = flag; } //按从大到小的顺序有序输出10个数组元素 printf("按从大到小顺序输出为:n"); for(i = 0; i < 10; i++) { printf("%d,",a[i]); } //换行,分隔 printf("n"); return 0; }
//运行结果:
请输入10个数组元素:
-24
45
-879
0
897
6574657
43546
3454
23
-325
按从大到小顺序输出为:
6574657,43546,3454,897,45,23,0,-24,-325,-879,



