快速排序

来源:互联网 发布:西班牙失业率数据 编辑:程序博客网 时间:2024/05/22 17:20
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int a[100];void quicksort(int l,int r){    int i,j,t,x;    if(l>r) return ;    i=l,j=r;    t=a[l];//t中存基准数    while(i!=j)    {        while(a[j]>=t&&i<j) j--;//  >=        while(a[i]<=t&&i<j) i++;        if(i!=j)//当哨兵i和哨兵j没有相遇时        {            x=a[i];            a[i]=a[j];            a[j]=x;        }    }    a[l]=a[i];//最终将基准数归位    a[i]=t;    quicksort(l,i-1);    quicksort(i+1,r);}int main(){    int i,n;    scanf("%d",&n);    for(i=0;i<n;i++)    scanf("%d",&a[i]);    quicksort(0,n-1);    for(i=0;i<n;i++)    printf("%d ",a[i]);}

0 0
原创粉丝点击