A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wmc1994 中级黑马   /  2016-8-13 22:14  /  761 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

冒泡排序的程序怎么实现?代码有注释更好

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]);
    }
}
回复 使用道具 举报
轻的上升,重的下沉,大概就是这个意思
回复 使用道具 举报

可以,就是感觉代码有点长
回复 使用道具 举报
冒泡排序的过程很简单,就是将第一个记录的关键字和第二个记录的关键字进行比较,如果后面的比前面的小则交换,然后比较第二个和第三个,依次类推。比完一趟,最大的那个已经放到了最后的位置,这样就可以对前面N-1个数再循环比较
回复 使用道具 举报
先理解排序的原理,代码其实就是人思想的一种体现,排序的代码其实很简单,实在不好理解多看几遍视频
回复 使用道具 举报
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]);        //从小到大         }                          } }        
回复 使用道具 举报
一个一个比
回复 使用道具 举报
[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[i]+" ");
		}
	}

}
回复 使用道具 举报
这个会讲的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马