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