#include "stdafx.h" |
#include <stdio.h> |
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]; |
|
while (i < j && s[i] < x) |
i++; /* 从左向右找第一个大于x的数 */ |
if (i < j) |
s[j--] = s[i]; |
} |
s[i] = x; |
quick_sort(s, l, i-1); /* 递归调用 */ |
quick_sort(s, i+1, r); |
} |
} |
int _tmain( int argc, _TCHAR* argv[]) |
{ |
|
int a[]={49,38,65,97,76,13,27}; |
int l = 0; |
int r = 6; |
quick_sort(a,l,r); |
for ( int i=0;i<=r;i++) |
printf ( "%4d" ,a[i]); |
return 0; |
} |