[ 本帖最后由 henk 于 2012-11-16 20:46 编辑 ]\n\n
#include<stdio.h>
/*快速排序*/
int quick_sort(int *a, int n, int left, int right)
{
int s, i, j;
int temp;
if(left < right)
{
s = a[left];
i = left;
j = right + 1;
while(1)
{
while(i + 1 < n && a[++i] > s);
while(j - 1 > -1 && a[--j] < s);
if(i >= j)
{
break;
}
temp = a;
a = a[j];
a[j] = temp;
}
a[left] = a[j];
a[j] = s;
quick_sort(a, n, left, j - 1);
quick_sort(a, n, j + 1, right);
}
return 0;
}
int main()
{
int i,n;
int arr[n];
printf("请输入一个整数:");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i = 0; i < n; i++)
{
scanf("%d",&arr);
}
for(i = 0; i < n; i++)
{
printf("arr[%d]=%d\n", i, arr);
}
quick_sort(arr, n, 0, (n-1));
printf("排序后:\n");
for(i = 0; i < n; i++) {
printf("arr[%d]=%d\n", i, arr);
}
sleep(10000);
return 0;
}
|