快速排序

来源:互联网 发布:楼梯设计软件 编辑:程序博客网 时间:2024/05/29 16:21
#include<iostream>using namespace std;void quickSort(int a[],int,int);int main(){int array[]={34,65,12,43,67,5,78,10,3,70},k;int len=sizeof(array)/sizeof(int);cout<<"The orginal arrayare:"<<endl;for(k=0;k<len;k++)cout<<array[k]<<",";cout<<endl;quickSort(array,0,len-1);cout<<"The sorted arrayare:"<<endl;for(k=0;k<len;k++)cout<<array[k]<<",";cout<<endl;system("pause");return 0;}void quickSort(int s[], int l, int h){if (l< h){      int i = l, j = h, x = s[l];while (i < j){while(i < j && s[j]>= x) // 从右向左找第一个小于x的数j--; if(i < j)s[i++] = s[j];while(i < j && s[i]< x) // 从左向右找第一个大于等于x的数i++; if(i < j)s[j--] = s[i];}s[i] = x;quickSort(s, l, i - 1); // 递归调用quickSort(s, i + 1, h);}}

0 0