冒泡排序¶
升序:
int main(){
const int num=9;
int a[num]={1,3,4,2,6,4,7,9,7};
for(int i=0;i<num-1;i++){ // 第 i+1 趟冒泡,有 i 个元素已经在正确位置
for(int j=i;j<num-1;j++){
if(a[j]>a[j+1]) std::swap(a[j],a[j+1]);
}
}
for(int i=0;i<num;i++) std::cout<<a[i]<<' ';
return 0;
}
降序:
int main(){
const int num=9;
int a[num]={1,3,4,2,6,4,7,9,7};
for(int i=0;i<num-1;i++){
// 注意 j 的枚举顺序要改变
for(int j=num-1;j>i;j--){
if(a[j]>a[j-1]) std::swap(a[j],a[j-1]);
}
}
for(int i=0;i<num;i++) std::cout<<a[i]<<' ';
return 0;
}