排序总结
1、分治法排序
/************************************************************** 分治法排序; Description: Sort order for all or part of an Array. Parameters: _in int a[]: array for sorting _in int m: Start index of a[] _in int n: End index of a[] **************************************************************/ void divide_sort(int a[], int m, int n) { if (m >= n) { return; } int i = m; int j = n; while(i < j) { if (a[i+1] <= a[i] ) { int tmp = a[i]; a[i] = a[i+1]; a[i+1] = tmp; i++; } else { int tmp = a[i+1]; a[i+1] = a[j]; a[j] = tmp; j--; } } divide_sort(a, m, i-1); divide_sort(a, i+1, n); }
应用示例:
void main() { int arry[10] = {3, 7, 2, 9, 6, 13, 1, 0, 8, 6}; divide_sort(arry, 0, 9); return; }
浙公网安备 33010602011771号