package test.base.sort; /**冒泡排序 * 每完成一次排序,找出一个最大数。是一种稳定排序算法。 * 冒泡排序算法的运作如下: * 1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。 * 2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 * 3、针对所有的元素重复以上的步骤,除了最后一个。 * 4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 * * @author sky * */ public class BubbleSorting { public static int[] bubbleSort(int[] arr) { boolean swap = true; //长度-1次,剩余最后一个元素不用比较 for (int i = 0; i < arr.length - 1; i++) { swap = false; //排序完成的不用再继续比较 for (int j = 0; j < arr.length - i - 1; j++) { if(arr[j] > arr[j + 1]){ swap(arr, j, j + 1); swap = true; } } //没有位置调整,冒泡完成 if(!swap){ break; } } return arr; } //交换元素 public static void swap(int[] arr, int index1, int index2){ int tmp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = tmp; } public static void traverse(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static void main(String[] args) { int[] arr = new int[] { 9, 5, 1, 7, 3, 2, 4, 6 }; traverse(bubbleSort(arr)); } }
相关推荐
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。 走访元素的工作是重复...
今天小编就为大家分享一篇关于Java算法之冒泡排序实例代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
主要介绍了java 算法之冒泡排序实例详解的相关资料,冒泡排序,就是模仿泡泡从水中浮起跑到水面的过程需要的朋友可以参考下
该资源提供了Java中实现冒泡排序的全面指南。文档中涵盖了冒泡排序的基本概念,包括如何对数组进行排序以及如何在Java中实现冒泡排序。此外,文档还包括一个逐步指南,介绍了如何在Java中实现冒泡排序,包括详细的...
//冒泡排序 for(int i=0;i;i++){ for(int j=i+1;j;j++){//注意j的开始值是i+1,因为按照排序规则,比a[i]大的值都应该在它后面 if(a[i] > a[j]){ int temp = a[j]; a[j] = a[i]; a[i] = temp; ...
Java后端算法-冒泡排序和选择排序对比
如何用Java写出冒泡排序的算法,希望对大家有所帮助
冒泡排序是最基础的排序算法之一,但它并不是最优的排序算法。 1. 算法思想 冒泡排序是将数据中的每个数与相邻数进行比较并交换,大数往上冒,小数往下沉,每个数都遍历一次后便可以排出顺序。 2. 算法步骤 (1)...
详解Java常用排序算法-冒泡排序
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
Java语言实现的冒泡排序算法,代码里头有详细注释,注释皆为简单英文,这个算法比较经典,欢迎新手下载学习使用,欢迎后期的学习交流!
JAVA冒泡排序和快速排序算法,符合实验报告要求哦
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。
用java实现冒泡排序算法,开发者必会的几种算法
java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡
冒泡排序算法详细分析那还等hi实地阿基hihi大UI一及对阿迪年hiue一群