求职基础复习之快速排序c++版

 1 #include<iostream>
 2 using namespace std;
 3 int partition(int a[],int p,int q){
 4 int x = a[q];
 5 int i = p-1;
 6 for(int j = p;j<q;j++)
 7 {
 8 if(a[j]<x)
 9 {
10 i++;
11 int temp = a[j];
12 a[j] = a[i];
13 a[i] = temp;
14 }
15 }
16 a[q]=a[i+1];
17 a[i+1]=x;
18 return i+1;
19 }
20 void qsort(int a[],int p,int q){
21 if(p<q){
22 int i = partition(a,p,q);
23 qsort(a,p,i-1);
24 qsort(a,i+1,q);
25 }
26 }
27 
28 int main(){
29 int a[6] = {9,-9,3,-3,0,0};
30 qsort(a,0,5);
31 for(int i = 0;i<6;i++)
32 cout<<a[i]<<"  ";
33 }

 

posted @ 2014-02-20 13:35  轻度YYy  阅读(162)  评论(0编辑  收藏  举报