快速排序的实现

输入9个数字,采用快速排序法从小到大排序输出。

输入样例:

49 38 65 97 76 13 27 49 20

输出样例:

13 20 27 38 49 49 65 76 97

程序代码:

#include<iostream>
using namespace std;
void quicksort(int r[],int start,int end);
int main()
{
    int a[9];
    for(int i=0;i<9;i++)
        cin>>a[i];
    quicksort(a,0,8);
    for(int i=0;i<9;i++)
        cout<<a[i]<<' ';
    return 0;   
}
void quicksort(int r[],int start,int end)
{
    int i=start;
    int j=end;  
    int temp=r[start];
    if(i<j)
    {
        while(i!=j)
        {
            while(i<j&&r[j]>=temp)
                j--;        
            if(i<j)
            {

                r[i]=r[j];
                i++;
            }       
            while(i<j&&r[i]<temp)
                i++;        
            if(i<j)
            {
                r[j]=r[i];
                j--;
            }   
        }   
        r[i]=temp;  
        quicksort(r,start,i-1);
        quicksort(r,i+1,end);
    }           
}

执行结果:

全部评论

相关推荐

比亚迪汽车新技术研究院 硬件工程师 总包21左右 硕士
点赞 评论 收藏
分享
周述安:这都能聊这么多。别人要是骂我,我就会说你怎么骂人?他要是继续骂我,我就把评论删了。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务