void quick_sort(int s[], int l, int r){ int i, j, x; if (l < r) { i = l; j = r; x = s[i]; while (i < j) { while(i < j && s[j] > x) j--; /* 从右向左找第一个小于x的数 */ if(i < j) { s[i] = s[j]; i++; } while(i < j && s[i] < x) i++; /* 从左向右找第一个大于x的数 */ if(i < j) { s[j] = s[i]; j--; } } s[i] = x; quick_sort(s, l, i-1); /* 递归调用 */ quick_sort(s, i+1, r); }}
新闻热点
疑难解答