冒泡排序Bubble Sort
2016-02-19 19:55
155 查看
冒泡排序算法的运作如下:(从后往前)
1.
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
冒泡排序总的平均时间复杂度为O(n^2),是一种稳定的排序算法。
JAVA
1.
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
冒泡排序总的平均时间复杂度为O(n^2),是一种稳定的排序算法。
JAVA
public class BubbleSort { public void sort(int[] a) { int temp = 0; for (int i = a.length - 1; i > 0; --i) { 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; } } } } }
相关文章推荐
- C#中用JavaScriptSerializer和Json.Net操作json格式的文件
- Math.round(11.5)等于多少?Math.round(-11.5)等于多少?
- EditText属性详解
- 软考之路(三)---组成原理
- javascript--argument&this
- LeetCode_OJ【56】Merge Intervals
- Toast源代码分析
- MySQL中一致性非锁定读
- for..in遍历,枚举器
- React-Native OpenGL体验二
- POJ 1523 SPF(Tarjan 求解连通分量)
- 如何用剪切板实现数据传递(本文分字符串和对象)
- 三大工厂模式
- Hadoop快速入门
- android AudioManager AUDIOFOCUS
- TOEFL 学习笔记(writing 4)
- USACO 1.1 beads
- HDU 1498 50 years, 50 colors 二分图最小点覆盖
- Innodb事务隔离级别
- ccf算法模板