选择排序
每次从未被排序的中选择一个最小的(大)
void selection(int a[],int n){
for(int i = 0;i < n-1; ++i){
int min = i;
for(int j = i;j<n;++j){//j = i+1
if(a[j] < a[min]){
//swap(a[j],min);
min = j;
}
}
//if(min != i)
swap(a[i],a[min]);
}
}
插入排序
void insert(int a[],int n) {
for(int i=1; i<n; i++) {
for(int j = i; j>0&&(a[j]<a[j-1]); j--) {
//cout<<"a[j]="<<a[j]<<"a[j-1]="<<a[j-1]<<endl;
swap(a[j],a[j-1]);
show(a,n);
}
}
}