您的位置:首页 > 职场人生

程序员必须掌握的十种算法---快速排序算法

2015-08-13 20:43 567 查看
#include<stdio.h>

int a[101], n;

void quicksort(int left, int right)
{
int i,j,t,temp;

if(left>right)
return;

temp=a[left];
i=left;
j=right;

while(i!=j)
{
while(a[j]>=temp&&i<j)
j--;

while(a[i]<=temp&&i<j)
i++;

if(i<j)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}

a[left]=a[i];
a[i]=temp;

quicksort(left,i-1);
quicksort(i+1,right);
}

int main()
{
int i,j,t;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}

quicksort(1,n);

for(int i=1;i<=n;i++)
{
printf("%d ",a[i]);
}

getchar();
getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  快速排序