首页 > 代码库 > 基本排序——冒泡
基本排序——冒泡
引用某人的话:算法是区别码农与软件工程师的依据,编程从来都是脑力工作,只是多数人把它干成了体力活。算法提供的是一种思路,一种思维方式,实现同样的功能,有人能用几行代码你却要用几十行代码,为什么别人的程序代码量少、运行效率高且bug少,你的代码杂乱无章、效率越来越差、bug不好找。
虽然复习了几次冒泡排序,但是过一段时间后又忘记了,还是因为没有真正理解到算法的思想,今天独立实现了冒泡排序,用自己的语言记录下来,加深自己的理解。
题目:有一个int类型的数组,需要你将数组从小到大进行排序
思考过程:
1、先写一个五个元素的数组,自己手动排序,分析一下思路;
(编程不是一行一行往下写的,先把思路理出来了,把大的框架(逻辑)写出来,然后填空,重要的不是用什么语言,只要能写出关键逻辑就是高手,这就是有开发经验与实习生的区别);
2、开始编码
1 public class OrderNum { 2 public static void main(String[] args) { 3 // TODO Auto-generated method stub 4 int[] data = http://www.mamicode.com/{3,2,8,0,4,5,1,9,6,7}; 5 for(int m=data.length-1 ;m>0 ;m--){ 6 for(int n=0;n<m;n++){ //这里n的边界用m做判断,因为没经过一轮外循环,最大的数已经确定下来,就不用再进行比较了;如果用n<data.length还会越界 7 if(data[n]>data[n+1]){ 8 int temp = data[n+1]; 9 data[n+1] = data[n];10 data[n] = temp;11 }12 }13 }14 for(int i : data){15 System.out.print(i+" ");16 }17 18 }19 }
输出:
基本排序——冒泡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。