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

排序之冒泡排序

时间:2019-01-18 12:56:38      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:==   优化算法   next   冒泡   排序   style   current   位置   ble   

(我们这块说升序思想) 排序思想:第一趟,从第一个记录开始到第n个记录,
对n-1对相邻的两个记录关键字进行比较,若前者大于后者,两者进行交换,这样一趟结束后,
最大的元素就在数组的末尾;
第二趟,从第一个记录开始到第n-1个记录,对n-2对相邻的两个记录关键字进行比较,
若前者大于后者,两者进行交换,
这样一趟结束,次大元素在数组的倒数第二个位置.....如此进行n-1次排序就能排序出来

public class bubbleSort {
    public static void main(String[] args) {
        Random r = new Random();
        int[] arr = new int[10000];
        for(int i = 0;i<arr.length;i++) {
            arr[i] = r.nextInt();
        }
        long t1 = System.currentTimeMillis();
        BubbleSort1(arr);
        long t2 = System.currentTimeMillis();
        System.out.println(t2);
        System.out.println(t1);
        System.out.println(t2 - t1);
        long t3 = System.currentTimeMillis();
        BubbleSort2(arr);
        long t4 = System.currentTimeMillis();
        System.out.println(t3);
        System.out.println(t4);
        System.out.println(t4 - t3);
    }
    
    public static void BubbleSort1(int arr[]) {
        for(int i = 1;i<arr.length;i++) {
            for(int j = 0;j<arr.length-i;j++) {
                if(arr[j]>arr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }
//    优化算法:我们加一个条件判断它是否交换,如果没有交换,那么就说明他已经排好序
    public static void BubbleSort2(int arr[]) {
        for(int i = 1;i<arr.length;i++) {
            Boolean b = false;
            for(int j = 0;j<arr.length-i;j++) {
                if(arr[j]>arr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                    b = true;
                }
            }
            if(b == true) break;
        }
    }
}

 

排序之冒泡排序

标签:==   优化算法   next   冒泡   排序   style   current   位置   ble   

原文地址:https://www.cnblogs.com/duy666/p/10287051.html

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