/**
* @program: sort
* @author: peanut
* @create: 2020.9.5
* @description: 冒泡排序
* 冒泡排序每次操作相邻的两个数据。每一轮排序会让一个大数移动到数组末尾
* 重复n次后就能把n个数全部排序完成
**/
public void sort(int[] args) {
for(int i=0;i<args.length;i++) {
//可以设置一个标志位优化排序
//即当冒泡过程中没有发生数据交换,说明数据已经是有序的了,可以提前结束排序
Boolean flag = false;
//每次都是前后两个数比较,所以n到比较的数组倒2就可以全部比较完成,需要减1
for(int j=0;j<args.length-i-1;j++) {
//判断前面的数是否大于后面的数
if(args[j]>args[j+1]) {
int temp = args[j];
args[j] = args[j+1];
args[j+1] = temp;
flag = true;
}
}
//如果没有发生交换,说明数组已经有序,flag仍为false,结束排序
if(flag) {
break;
}
}
}
java实现冒泡排序
最新推荐文章于 2023-02-26 17:11:55 发布