public static void Buddlesort(int[] arr){
//定义有序的起始位置
int lastindex = 0;
//需要对比排序的位置
int sortLen = arr.length-1;
for (int i = 0;i<arr.length-1;i++){
//标识数组是否处于有序状态
boolean flag = true;
//假如数组已经为1、3、2、5、4、6、7、8、9
//当j为5时,数组6 7 8 9已经是有序状态,所以soetLen为5,比较到角标为5就行
for (int j = 0;j<sortLen;j++){
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] =arr[j+1];
arr[j+1] = temp;
flag = false;
lastindex = j;
}
}
//如果flag为true,代表一轮循环没有发生数据交换,数组已经为有序状态
if (flag){
break;
}
sortLen = lastindex;
}
}
冒泡排序
最新推荐文章于 2024-09-21 14:48:47 发布