快速排序的实现

来源:互联网 发布:漫画打印排版软件 编辑:程序博客网 时间:2024/05/21 09:03

输入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);    }           }

执行结果:

这里写图片描述

0 0