冒泡排序算法(Bubble Sort) Java实现
来源:互联网 发布:淘宝免费试用 编辑:程序博客网 时间:2024/06/11 03:53
冒泡排序的基本思想:
两两相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。
import java.util.Arrays;import java.util.Random;/** * 冒泡排序 * */public class BubbleSort { /** * 冒泡排序 * * 从0开始往右两两比较,如果左边大于右边则互换位置,然从1开始,直到遍历完n * @param arr */ public void bubbleSort(int[] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } System.out.print(i + " "); } System.out.println("\n冒泡排序:" + Arrays.toString(arr)); } /** * 冒泡排序优化 * * 同前一个,增加如果某次遍历没有任何元素交换位置则直接退出 * @param arr */ public void bubbleSortOpt(int[] arr) { boolean flag = true; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; flag = false; } } System.out.print(i + " "); if (flag) { break; } else { flag = true; } } System.out.println("\n冒泡排序优化:" + Arrays.toString(arr)); }public static void main(String[] args) {int[] arr = new int[10];Random ran = new Random();for (int i = 0; i < arr.length; i++) {arr[i] = ran.nextInt(100);}System.out.println(Arrays.toString(arr));BubbleSort sort = new BubbleSort();int[] bsArr = arr.clone();sort.bubbleSort(bsArr);int[] bsoArr = arr.clone();sort.bubbleSortOpt(bsoArr);}}
0 1
- 冒泡排序算法(Bubble Sort) Java实现
- PHP实现排序算法----冒泡排序(Bubble Sort)
- java冒泡排序Bubble Sort算法代码
- 排序算法---冒泡排序(Bubble Sort)
- 冒泡排序算法(Bubble Sort):
- 冒泡排序算法(Bubble Sort)
- 冒泡排序(Bubble Sort)原理及Java实现
- 算法--冒泡排序 Bubble Sort
- java冒泡排序Bubble sort
- JAVA冒泡排序 Bubble Sort
- 【排序算法】冒泡排序 bubble sort(交换类排序)
- 冒泡排序(Bubble Sort)
- 冒泡排序(bubble sort)
- 冒泡排序(Bubble Sort)
- 冒泡排序 (Bubble sort)
- 冒泡排序(bubble sort)
- Bubble Sort(冒泡排序)
- 冒泡排序(Bubble sort)
- c++实验五——求和
- QQ能上网但是浏览器上不了网
- SpringMVC+MyBatis+MAVEN配置
- Android HandlerThread使用及原理分析
- mybatis 中parametertype的传入参数问题
- 冒泡排序算法(Bubble Sort) Java实现
- 关于ipa包安装失败的总结
- Ubuntu安装rmatlab2016a
- java 反射机制
- POJ 3356 AGTC(算法导论15-5编辑距离) 经典dp
- 122. Best Time to Buy and Sell Stock II
- Effective C++ 读书笔记(二)
- python中 and和or用法
- Android IntentService使用及原理分析