#include<stdio.h>
#include<stdlib.h>
int Partition(int *Array,int i,int j)
{
int t = *(Array + i);
while(i<j)
{
while(i<j && *(Array+j)>=t)
j--;
if(i<j)
{
*(Array + i) = *(Array + j);
i++;
}
while(i<j && *(Array+i)<=t)
i++;
if(i<j)
{
*(Array+j) = *(Array+i);
j--;
}
}
*(Array+i) = t;
return i;
}
void QuickSort(int *Array,int low,int high)
{
int mid;
if(low<high)
{
mid = Partition(Array,low,high);
QuickSort(Array,low,mid-1);
QuickSort(Array,mid+1,high);
}
}
int main()
{
int i,n;
int Array[255];
printf("请输入数据个数:");
scanf("%d",&n);
if(n<=0 || n>255)
{
printf("n is not correct");
exit(1);
}
printf("请输入待排序的数列: \n");
for(i =0;i<n
c语言指针实现快速排序
最新推荐文章于 2025-07-06 21:02:37 发布