黑马程序员技术交流社区

标题: 冒泡排序怎么实现的? [打印本页]

作者: wmc1994    时间: 2016-8-13 22:14
标题: 冒泡排序怎么实现的?
冒泡排序的程序怎么实现?代码有注释更好
作者: 汐城西下    时间: 2016-8-13 22:38
看视频很好理解的啊
作者: a953558401    时间: 2016-8-13 23:10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class $ {

    public static void main(String[] args) {

        int[] arr = { 1, 3, 5, 7, 9, 2, 4, 6, 8, 0 };

        for (int i = 0; i < arr.length; i++) {
            for (int j = i; j < arr.length; j++) {

                if (arr[i] > arr[j]) {
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }

        System.out.println("the max is " + arr[arr.length - 1]);
    }
}
作者: 726477179    时间: 2016-8-13 23:45
轻的上升,重的下沉,大概就是这个意思
作者: wmc1994    时间: 2016-8-14 22:29
a953558401 发表于 2016-8-13 23:10
1
2
3

可以,就是感觉代码有点长
作者: 695212308    时间: 2016-8-14 22:35
冒泡排序的过程很简单,就是将第一个记录的关键字和第二个记录的关键字进行比较,如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较
作者: 欧文略    时间: 2016-8-14 22:50
先理解排序的原理,代码其实就是人思想的一种体现,排序的代码其实很简单,实在不好理解多看几遍视频
作者: li--yong    时间: 2016-8-14 23:17
public class T{         public static void main(String[] args) {                 // 冒泡法排序                 int[] s = { 40, 37, 80, 45, 49 };                  for (int i = 0; i < s.length; i++) {                         for (int j = 0; j < s.length -1- i; j++) {                                 if (s[j] > s[j + 1]) {                                         int t;                                         t = s[j];                                         s[j] = s[j + 1];                                         s[j +1 ] = t;                                  }                          }                         System.out.println(s[s.length-1-i]);        //从大到小                 }         //        =======================================================         for (int a = 0; a < s.length; a++) {                 System.out.println(s[a]);        //从小到大         }                          } }        
作者: 811487754    时间: 2016-8-14 23:19
一个一个比
作者: 冬冬宋    时间: 2016-8-14 23:50
[AppleScript] 纯文本查看 复制代码
package com.heima.array;

public class Demo_maopao {

        /**
         * 冒泡排序
         * 1,返回值类型,void
         * 2,参数列表,int[] arr
         *
         *         第一次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3],arr[3]与arr[4]比较4次
                第二次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3]比较3次
                第三次:arr[0]与arr[1],arr[1]与arr[2]比较2次
                第四次:arr[0]与arr[1]比较1次
         */
        public static void main(String[] args) {
                int  [] arr ={12,15,10,93};
                for (int i = 0; i < arr.length-1; i++) {
                        for (int j = 0; j < arr.length-1-i; j++) {
                                if(arr[j]>arr[j+1]){
                                /*定义一个中间变量,用于交换两个元素*/
                                int temp = 0;
                                temp = arr[j];
                                arr[j]=arr[j+1];
                                arr[j+1]= temp;
                                }
                        }
                       
                }
                print(arr);
        }
        public static void print(int [] arr){
                for (int i = 0; i < arr.length; i++) {
                        System.out.print(arr+" ");
                }
        }

}

作者: 13411939415    时间: 2016-8-15 10:29
这个会讲的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2