1.比较相邻的元素,如果第一个比第二个大,就交换他们两个
2.对每一对相邻元素做同样的工作,执行完毕后,找到最大值
#include <iostream>
using namespace std;
int main(){
int arr[9]={3,5,2,8,6,0,9,1,4};
for(int i=0;i<9-1;i++){ //总共排序的轮数;
for(int j=0;j<9-i-1;j++){ //总共对比次数;
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
cout<<"排序后:"<<endl;
for(int k=0;k<9;k++){
cout<<arr[k]<<endl;
}
}
每比较一轮,就会找出来这一组数中最大的那个,当比较到最后一个数时就不用比较了,所以一共需要找的轮数为:元素个数-1轮.
再写每一轮中两两比较的循环语句,借助temp临时容器,比较相邻两个数的大小,进行交换位置.
最后输出排序后的数组.