1 #include<iostream> 2 3 4 using namespace std; 5 6 void Repeat(int* a,int Left,int Right); 7 int QuickSort(int* a,int Left,int Right); 8 9 10 void main() 11 { 12 int a[5] = {9,1,2,8,4}; 13 14 Repeat(a,0,4); 15 16 int i = 0; 17 18 for(i=0;i<5;i++) 19 { 20 cout<<a[i]<<" "; 21 22 23 } 24 cout<<endl; 25 26 27 28 } 29 void Repeat(int* a,int Left,int Right) 30 { 31 int m = 0; 32 if(Left<Right) 33 { 34 m = QuickSort(a,Left,Right); 35 36 Repeat(a,Left,m-1); 37 38 Repeat(a,m+1,Right); 39 40 } 41 42 43 } 44 int QuickSort(int* a,int Left,int Right) 45 { 46 int Temp = a[Left]; 47 while(Left<Right) 48 { 49 while(Left<Right&&Temp<=a[Right]) 50 { 51 Right--; 52 53 54 } 55 a[Left] = a[Right]; 56 57 while(Left<Right&&Temp>=a[Left]) 58 { 59 60 Left++; 61 62 } 63 a[Right] = a[Left]; 64 a[Left] = Temp; 65 66 } 67 68 return Left; 69 70 }