1、比较相邻的元素。如果第一个数比第二个数大,就交换它们两个位置
2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。此时第一轮,最后的元素应该会是最大的数。
3、针对所有的元素重复以上的步骤,除了最后一个
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
冒泡排序可以使用双重循环来实现
外层循环:控制比较的轮数,比较多少轮
内层循环:控制每轮比较多少次
冒泡法口诀(升序)
N个数字来排序
两两相比小靠前
外层循环N-1
内层循环N-1-i
排序是从小到大,if条件用“>”,从大到小,用“<”
冒泡法排序(降序)
for(int i=0;i<N;i++){
for(int j=0;j<N-1-i;j++){
if(arr[j]<arr[j+1]){
int temp = arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
升序与降序的区别只是将if条件的"<"改成">"