#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 10
int partition(int a[],int s,int t)
{
int i = s,j = t;
int temp = a[i];
while(i<j)
{
while(j>i&&a[j]>=temp)
j--;
a[i] = a[j];
while(i<j && a[i]<=temp)
i++;
a[j] = a[i];
}
a[i] = temp;
return i;
}
void QuickSort(int a[],int s,int t)
{
int i;
if(s < t)
{
i = partition(a,s,t);
QuickSort(a,s,i-1);
QuickSort(a,i+1,t);
}
}
int main()
{
int a[MAX];
int len = sizeof(a)/sizeof(int);
for(int i = 0;i < len;i++){
scanf("%d",&a[i]);
}
printf("输入的数....\n");
for(int i = 0;i< len;i++){
printf("%d ",a[i]);
printf("\n");
}
printf("排序后的数组。。。\n");
QuickSort(a,0,len-1);
for(int i = 0;i < len; i++){
printf("%d",a[i]);
}
}
快速排序代码
最新推荐文章于 2023-09-09 23:48:59 发布