zoukankan      html  css  js  c++  java
  • 01-冒泡排序算法

    冒泡排序

    秋天来了,准备把数据结构与算法过一遍。

    冒泡排序特点:每遍历一次,最大/小的往下沉,最多遍历n次,时间复杂度为

    冒泡排序代码

    public static void bubbleSort(int[] array, int len){
        boolean isSwap; //swap flag
        //need n-1 times traverse at most
        for (int i = 1; i < len; i++){
            isSwap = false;
            for (int j = 0; j < len-i; j++){ //swap
                if (array[j] > array[j+1]){
                    int temp = array[j];
                    array[j] = array[j+1];
                    array[j+1] = temp;
                    isSwap = true;
                }
            }
    //        System.out.print(String.format("第%d次遍历之后数组为:", i));
    //        for (int x = 0; x < len; x++){
    //            System.out.print(array[x] + " ");
    //        }
    //        System.out.println();
            if (!isSwap) break;
        }
    }

    测试样例代码

    public static void main(String[] args){
        System.out.println("测试样例1:");
        int[] array = {54321};
        bubbleSort(array, 5);

        System.out.println(" 测试样例2:");
        int[] array2 = {12543};
        bubbleSort(array2, 5);
    }

    测试结果

    测试样例1:
    第1次遍历之后数组为:4 3 2 1 5 
    第2次遍历之后数组为:3 2 1 4 5 
    第3次遍历之后数组为:2 1 3 4 5 
    第4次遍历之后数组为:1 2 3 4 5 

    测试样例2:
    第1次遍历之后数组为:1 2 4 3 5 
    第2次遍历之后数组为:1 2 3 4 5 
    第3次遍历之后数组为:1 2 3 4 5 

    ----- end -----

  • 相关阅读:
    STM32位带操作
    url参数 加密
    object.key 对象的键排序 可能出现的问题
    在vue项目中 获取容器的高度
    navigator 判断移动端是Android还是iOS
    Nginx下载地址
    Sublime Text3快捷键大全
    鼠标拖着元素飞
    g6 cavans
    vue img标签图片加载时 闪烁
  • 原文地址:https://www.cnblogs.com/denluoyia/p/9673089.html
Copyright © 2011-2022 走看看