作用:最常见的排序算法,对数组内元素进行排序;
1.比较相邻元素,如果第一个比第二个大,那么交换他们两个;
2.对每一对相邻元素做同样的操作,执行完毕后,找到第一个最大值;
3.重复以上操作,每次比较次数-1,直到不需要比较;
外侧循环为:总共排序的大轮数=元素个数-1;
内侧2循环为:相邻两个元素做比较的次数=元素个数-当前轮数-1;
#include<iostream>
using namespace std;
int main(){
//利用冒泡排序实现升序序列
int arr[9]={4,2,8,0,5,7,1,3,9};
cout<<"排序前:"<<endl;
for(int i=0;i<9;i++){
cout<<arr[i]<<" ";
}
cout<<endl;
//开始冒泡排序
int a[9]={4,2,8,0,5,7,1,3,9};
for(int i=0;i<9-1;i++){
for(int j=0;j<9-i-1;j++)
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
cout<<"排序后:"<<endl;
for(int i=0;i<9;i++){
cout<<a[i]<<" ";
} cout<<endl;
}
运行结果: