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 -----

  • 相关阅读:
    ubuntu13.04 安装java
    PHP shell模式下执行PHP文件报错
    python urllib2 cookie 设置
    新浪微博模拟登录(Python+RSA加密算法)附源代码(转)
    Python 实现腾讯微博模拟登录 (附源码)
    python中的字符串与16进制的转换
    mysql in和exists性能比较和使用
    linux分析dump vmcore文件
    SecureCRT密钥key远连接程ssh证书登录Linux
    /tmp清理机制
  • 原文地址:https://www.cnblogs.com/denluoyia/p/9673089.html
Copyright © 2011-2022 走看看