zoukankan      html  css  js  c++  java
  • 冒泡排序

    public class BubbleSortDemo {
    
        public static void bubbleSort(int[] a) {
            //一次遍历,长度a.length - 1,主要是第一个最终没影响
            for (int i = 1; i <= a.length - 1; i++) {
                for (int j = 0; j < a.length - i; j++) {
                    if (a[j] > a[j + 1]) {
                        int temp = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = temp;
                    }
                }
            }
        }
    
        public static void main(String[] args) {
            int[] a = {14, 65, 25, 22, 1, 4, 78, 36, 50};
            bubbleSort(a);
            for (int i = 0; i < a.length; i++) {
                System.out.print(a[i] + " ");
            }
        }
    }
    
    • 但算法可以改进,使最佳情况时为O(n)。改进后的代码为:
    public void bubbleSort(int arr[]) {
        boolean didSwap;
        for(int i = 0, len = arr.length; i < len - 1; i++) {
            didSwap = false;
            for(int j = 0; j < len - i - 1; j++) {
                if(arr[j + 1] < arr[j]) {
                    swap(arr, j, j + 1);
                    didSwap = true;
                }
            }
            if(didSwap == false)
                return;
        }    
    }
    
  • 相关阅读:
    create-react-app 修改 webpack output.publicPath
    洛谷 P1282 多米诺骨牌 (01背包)
    UVa 1627
    UVa 1626
    UVa 11584
    UVa 11400
    UVa 116
    UVa 1347 Tour (dp)
    树形背包小结
    数据流图题目一
  • 原文地址:https://www.cnblogs.com/sanjun/p/9972973.html
Copyright © 2011-2022 走看看