#include<stdio.h>
int a[100];
int Quicksort(int l,int r)
{
int s;
if(l<r)
{
s=Partition(l,r);
Quicksort(l,s-1);
Quicksort(s+1,r);
}
}
int Partition(int l,int r)
{
int p=a[l];
int i=l,j=r;
int k,m;
while(i<j&&i<=r&&j>=l)
{i=i+1;
while(a[i]<p&&i<=r)
i=i+1;
j=j-1;
while(a[j]>p&&j>=l)
j=j-1;
k=a[j];
a[j]=a[i];
a[i]=k;
}
m=a[j];
a[j]=a[i];
a[i]=m;
k=a[l];
a[l]=a[j];
a[j]=k;
return j;
}
void main()
{
int i;
int n;
printf("|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|/n");
printf("please input the sort number:/n");
scanf("%d",&n);
printf("|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|/n");
printf("please input the number:/n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
Quicksort(0,n);
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("/n");
}
快速排序算源代码
最新推荐文章于 2022-03-04 09:45:29 发布