冒泡排序:冒泡排序其实就是把小的元素往前调(把大的元素往后调),从后面往前(从前往后)依次对相
邻的俩个元素比较,发现顺序错误就把他们交换过来,直到没有再需要交换,就排序完成。
算法步骤描述:
1、从后往前比较相邻的元素。如果前面的比后面的大,就交换他们两个
2、对每一对相邻元素作同样的工作之后,这时候第一个元素就是最小的数了
3、对所有的元素(假定n个)重复以上的步骤n-1次(到n-1次后,已经排序完成,不必要再继续下去),并且只
需要往前比较至未排序部分。
public class BubbleSort{ public void sort(int[] a) { int temp = 0; for (int i = a.length - 1; i > 0; --i) { boolean isSort=false; for (int j = 0; j < i; ++j) { if (a[j + 1] < a[j]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; isSort=true; } } if(!isSort)break; } } }
若序列已经是升序的,一趟扫描即可完成排序。所需的关键字比较次数最少n-1
若序列是降序的,需要进行
趟排序。每趟排序要进行
次关键字的比较,则总次数为:
所以因此冒泡排序总的平均时间复杂度为
相关推荐
冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首...
JAVA排序大全 冒泡 快速 选择 归并排序
java冒泡排序代码,亲测能用,控制台输入数据,自动排序
这个程序根据冒泡排序从大到小,从小到大的把数组里的元素进行了排序,程序思想很清晰
java冒泡排序集锦方法!所有的方法都有!很不错的!希望对大家有帮助哈哈!
java冒泡排序 代码为排序源代码 简洁明了 无其他
* 冒泡排序: * 每次在无序队列里将相邻两个数一次进行比较, * 将小数调到前面,逐次比较,直至将最大的数移到 * 最后。将剩下的N-1个数继续比较,将次大数移至 * 倒数第二位。
JAVA排序算法: 直接插入,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,包括算法的详细介绍,以及对几种算法的详细测试
1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...
java 冒泡排序方法,java 冒泡排序方法。
使用NetBeans设计界面,实现带界面冒泡排序 对输入String进行处理,将连续数字保存入数组(考虑负数,浮点数,首位为0的情况) 压缩包包含,使用java源文件生成的exe文件
java算法,快速排序、冒泡排序、选择排序 快速排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51822361 冒泡排序文章:http://blog.csdn.net/yanwenyuan0304/article/details/51819045
java实现最优冒泡排序。冒泡排序的时间复杂度为O(n2)。
java实现的冒泡排序 很简单一看就懂
java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档java 冒泡排序法 PPT文档
常用三种排序:快速排序、冒泡排序、插入排序的java实现示例
用java 编写的冒泡排序算法,并涵盖了冒泡排序算法的几种优化方式,以及在冒泡排序上的二分查找法。
用java语言实现冒泡排序、插入排序、堆排序、快速排序、归并排序、希尔排序、桶排序,并且对各种排序算法进行性能的比较。
该资源提供了Java中实现冒泡排序的全面指南。文档中涵盖了冒泡排序的基本概念,包括如何对数组进行排序以及如何在Java中实现冒泡排序。此外,文档还包括一个逐步指南,介绍了如何在Java中实现冒泡排序,包括详细的...