C语言实现快速排序,递归式:
- #include <stdio.h>
- void quick_sort(int s[], int l, int r)
- {
- if (l < r)
- {
- int i = l, j = r, x = s[l];
- while (i < j)
- {
- while(i < j && s[j] >= x)
- j--;
- if(i < j)
- s[i++] = s[j];
- while(i < j && s[i] < x)
- i++;
- if(i < j)
- s[j--] = s[i];
- }
- s[i] = x;
- quick_sort(s, l, i - 1);
- quick_sort(s, i + 1, r);
- }
- }
- void main()
- {
- int s[]={48,6,57,42,60,72,83,73,88,85};
- quick_sort(s,0,9);
- int i=0;
- for (;i<10;i++)
- {
- printf("%d ",s[i]);
- }
- }
复制代码
希望对你有帮助 |