首页 > 学院 > 开发设计 > 正文

冒泡排序

2019-11-07 23:31:33
字体:
来源:转载
供稿:网友

冒泡排序

过程:比较相邻的两个元素,较小的数冒起来,较大的数下沉 (以升序为例) 复杂:n*n 代码实现:

public static int[] BubbleSort(int[] arr){ int temp;// 做临时变量用 int len = arr.length; for(int i = 0; i < len - 1; i++){ for(int j = len - 1; j > i; j--){ if(arr[j] < arr[j - 1]){ temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } } return arr;}

今天在一片文章中看到了冒泡排序的优化(以前从来没想过),一下是代码:

public static int[] BubbleSort(int[] arr){ int temp;// 做临时变量用 int len = arr.length; for(int i = 0; i < len - 1; i++){ boolean flag; for(int j = len - 1; j > i; j--){ if(arr[j] < arr[j - 1]){ temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; flag = true; } } if(!flag) return arr; } return null;}

优化主要是省去了排好序之后的无意义操作


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表