认识-冒泡算法
2016-05-18 22:37
253 查看
初级算法—冒泡排序
2016/5/18 22:19:59 SeventeenWen冒泡排序可以说是老生常谈了,有着太多的例子,尤其是我这种初学者,不知道看了多少人写的冒泡排序,但是非常可惜的是,冒泡排序并不是非常高效的排序方法,可能你会写,心想不过是一个双重for循环而已,但是里面的每一行代码具体的意思是什么?你就有可能不知道了。
public class Bubble { public static void main(String[] args) { int[] a = {12,23,42,14}; buddle(a); for(int i:a){ System.out.println(i); } } public static void buddle(int[]array){ for(int i =0;i<array.length-1;i++){ for(int j=i+1;j<array.length;j++){ if(array[i]>array[j]){ int temp=array[j]; array[j]=array[i]; array[i]=temp; } } } }
}
冒泡的意思就是比较相邻的两个数,大的数往后放,小的数放在前面。
第一轮(用第一位和第二位比较,第二位和第三位比较。。。。):12 23 14 42
第二轮:12 14 23 42
第一轮将最大的数放在后面,第二轮将第二大的数放在倒数第二位,每一轮确定一个最大的数。
如果有N个数排序,则需要排N-1轮,所以外层循环控制轮数,内层循环进行两两比较。
相关文章推荐
- Java HashMap的工作原理
- okhttp封装时,提示 cannot resolve method OkHttpClient setConnectTimeout() 函数
- Demo6 TabLayout(上)你会用适配器吗:ViewPager
- android直接杀死一个应用与通过回退键退出一个应用的区别
- 这才叫做面试
- 网络黑客攻防学习平台之基础关第二题
- 设计模式总结篇系列:组合模式(Composite)
- ubuntu 16.04 技巧
- Oracle Golden Gate基本配置
- SQL触发器调用.NET的类方法续SQLCLR应用
- Kivy python在ubuntu下安装使用
- 数据库学习3 Distinct Group By
- Kivy python在ubuntu下安装使用
- 内部类
- 退耦和滤波[转]
- react, Stateless Functions, ES6 花括号参数, Spread operator
- eclipse 添加.gitignore
- 设计模式总结篇系列:外观模式(Facade)
- 删除最少字符 使字符串成为回文串
- 理解高内聚,低耦合