选择排序

2012-12-22 19:22:15   最后更新: 2016-01-28 17:13:46   访问数量:636




与插入排序极其类似的还有选择排序,每次选择未排序队列中的最小元素放到未排序队列的开头并将已排序队列元素数加一

 

#include <stdio.h> int choose_sort(int *array, int n) { if (array == NULL) { printf ("sort element error\n"); return -1; } int i, j; for (i=0; i<n; ++i) { int min = array[i], minpos = i; for (j=i+1; j<n; ++j) { if (array[j] < min) { min = array[j]; minpos = j; } } array[minpos] = array[i]; array[i] = min; } return 0; } int main () { int i, n=10; int array[10]; printf ("Please input 10 numbers:\n"); for (i=0; i!=n; ++i) scanf ("%d", &array[i]); if (choose_sort(array, n)) return -1; for (i=0; i!=n; ++i) printf ("%d ", array[i]); printf ("\n"); return 0; }

 

 






读书笔记      技术帖      算法      算法导论      数据结构      struct      龙潭书斋      排序      选择排序      选择      sort     


京ICP备15018585号