快速排序

来源:互联网 发布:人工智能app是什么 编辑:程序博客网 时间:2024/05/20 18:46
#include<iostream>#include<cstring>using namespace std;#define max 200int a[max];void quicksort(int left,int right){    int i,j,k,m,n,t;    int start=left;    int rear=right;    if(right==left||left>right)        return;    int  key=a[left];   // cout<<"haha"<<endl;    while(left<right)    {        while(a[right]>=key&&right>left)            right--;        if(a[right]<key&&right>left)        {            t=a[right];            a[right]=a[left];            a[left]=t;        }        while(a[left]<key&&right>left)            left++;        if(a[left]>key&&right>left)        {            t=a[right];            a[right]=a[left];            a[left]=t;        }    }    //if()   /* cout<<right<<endl;    cout<<left<<endl;*/    quicksort(start,right-1);    quicksort(right+1,rear);}int main(){    int i,j,k,m,n,t;    while(cin>>n)    {        memset(a,0,max);        for(i=0; i<n; i++)            cin>>a[i];            quicksort(0,n-1);            cout<<"result:"<<endl;            for(i=0;i<n;i++)                cout<<a[i]<<" ";    }}

0 0
原创粉丝点击