核心思想:两次循环,第一层循环负责遍历的次数,第二次循环负责每次找出最大的那个数字,放在末尾。
代码:
void bubbleFunction(int[] arr){
//长度减一的原因是不需要和自己进行比较
for(int i = 0; i < arr.length -1; i++){
//定义一个标志位,我们可以减少一些排序好了的循环
int count = 0;
// 长度减一的原因是一样的,但是长度减 i 是因为已经排过 i 次了,所以不用排那几次了
for(int j = 0; j < arr.length - 1 - i; j++ ){
//比较大小,进行交换
if(arr[j+1] < arr[j]){
swap(arr, j, j+1);
count = 1;
}
}
//判断进行退出当前循环
if(count == 0){
break;
}
}
}
冒泡排序算法
最新推荐文章于 2024-08-10 07:14:43 发布