码迷,mamicode.com
首页 > 编程语言 > 详细

基本排序——冒泡

时间:2017-06-14 16:09:37      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:记录   最大的   print   程序   区别   忘记   越界   public   color   

引用某人的话:算法是区别码农与软件工程师的依据,编程从来都是脑力工作,只是多数人把它干成了体力活。算法提供的是一种思路,一种思维方式,实现同样的功能,有人能用几行代码你却要用几十行代码,为什么别人的程序代码量少、运行效率高且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 = {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 }

 

输出:

技术分享

 

基本排序——冒泡

标签:记录   最大的   print   程序   区别   忘记   越界   public   color   

原文地址:http://www.cnblogs.com/crazytrip/p/7008378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!