void swap(int &i,int &j){
int temp=j;
j=i;
i=temp;
}
冒泡排序 n^2
void BubbleSort(int A[],int n){
int i,j;
for(i=0;i<n-1;i++){
bool flag=false;
for(j=0;j<n-i-1;j++){
if(A[j]>A[j+1]){
swap(A[j],A[j+1]);
flag=true;
}
}
if(!flag){
return ;
}
}
}
快速排序 nlogn
int Partition(int A[],int low,int high){
int pivot=A[low];
while(low<high){
while(low<high&&A[high]>=pivot)
high--;
A[low]=A[high];
while(low<high&&A[low]<=pivot)
low++;
A[high]=A[low];
}
A[low]=pivot;
return low;
}
void QuickSort(int A[],int low,int high){
int pivotpos = Partition(A,low,high);
QuickSort(A,low,pivotpos-1);
QuickSort(A,pivotpos+1,high);
}