#include <iostream>
using namespace std;
int QuickSortPass(int A[],int i,int j){
int t=A[j];
while(i<j){
while(i<j&&A[i]<=t){
i++;
}
A[j]=A[i];
while(i<j&&A[j]>=t){
j--;
}
A[i]=A[j];
}
A[j]=t;
return j;
}
void QuickSort(int A[],int i,int j){
int ok;
if(i<j){
ok=QuickSortPass(A,i,j);
QuickSort(A,i,ok-1);
QuickSort(A,ok+1,j);
}
}
void print(int A[],int len){
int i=0;
for(i=0;i<len;i++)
cout<<A[i]<<" ";
cout<<endl;
}
void main(){
int A[15]={12,3,4,6,98,123,3,56,78,11,65,455,324,0,1};
print(A,15);
//InsertionSort(A,15);
//ShellSort(A,15);
//BubbleSort(A,15);
QuickSort(A,0,14);
print(A,15);
}
算法分析:
下次补充