大神博客在此,参考后自己能写出程序了。
- #includeint AdjustArray(int s[], int l, int r);
- int quick_sort(int s[], int l, int r);
- void main() {
- int s[10] = {
- 72,
- 6,
- 57,
- 88,
- 60,
- 42,
- 83,
- 73,
- 48,
- 85
- };
- int i;
- quick_sort(s, 0, 10);
- for (i = 0; i < 10; i++) {
- printf("%d\n", s[i]);
- }
- }
- int AdjustArray(int s[], int l, int r) {
- int i = l,
- j = r;
- int x = s[i];
- while (iwhile(i
- if (i s[i] = s[j]; //挖j坑并填i坑,i++;//以此i+1坑为点,向中间搜索。}while(i if(i s[j]=s[i];//挖i坑并填j坑,j--;//以此j+1坑为点,向中间搜索。}}x=s[i];//此时a[i]==a[j],i,j指向同一元素。return i;}int quick_sort(int s[],int l,int r){if(l int i=AdjustArray(s,l,r);quick_sort(s,l,i-1);quick_sort(s,i+1,r);}}
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: