}
while(first + i <= last){ n[first + i] = temp[i++]; }
delete []temp;
//归并排序
void mergesort(int n[],int first,int last){ if(first >= last) }
//快速排序
void quicksort(int n[],int first,int last){ if(first >= last) }
//快速排序接口
void quick_sort(int n[],int length){ cout<<\ }
quicksort(n,0,length - 1); return ;
int firstnum = first;
int lastnum = last;
int temp = n[firstnum]; while(firstnum < lastnum){ while(n[lastnum] >= temp && firstnum < lastnum)
lastnum--;
n[firstnum] = n[lastnum];
while(n[firstnum] <= temp && firstnum < lastnum) firstnum++;
n[lastnum] = n[firstnum];
return;
int mid = (first + last)/2; mergesort(n,first,mid); mergesort(n,mid + 1,last); Merge(n,first,mid,last);
}
n[firstnum] = temp;
quicksort(n,first,firstnum - 1); quicksort(n,lastnum + 1,last);
//希尔排序
void shell_sort(int n[],int length){
}
cout<<\ int dk = length/2; int temp(0); while(dk >= 1) { }
for(int i = dk; i < length;i++){ temp = n[i]; } dk = dk/2;
for(int j = i ; j > 0 && temp < n[j - dk];j -= dk){ n[j ] = n[j - dk]; }
n[j] = temp;
//冒泡排序
void bubble_sort(int n[],int length){ cout<<\ }
int temp(0);
for(int i = 0; i < length; i++){ }
for(int j = 0; j < length - i - 1; j++){ if(n[j] > n[j + 1]){ temp = n[j]; n[j] = n[j + 1]; }
}
n[j+1] = temp;
//选择排序
void selection_sort(int n[],int length){ cout<<\
int Guard(0); int k(0);
for(int i = 0; i < length - 1 ; i++){
Guard = n[i]; k = i;
for(int j = i + 1; j <= length ; j++) { }
if(n[j] < n[k]) k = j;
}
}
n[i] = n[k]; n[k] = Guard;
//插入排序
void insertion_sort(int n[],int length){ }
int temp(0); int i(0),j(0);
cout<<\for( i = 1; i < length; i++){ }
temp = n[i];
for( j = i; j > 0 && temp < n[j-1]; j--){ n[j] = n[j - 1]; }
n[j] = temp;
//输出函数
void Display(int n[],int length,bool state){ }
if(state) cout<<\else cout<<\for(int i = 0; i < length;i++) cout<