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

    1、算法思想:临近的数字两两进行比较,按照从小到大或从大到小的顺序排列,这样排列一次后最大的或最小的数字被拍到最后。然后继续排序直到倒数第二位时结束。
    2、代码示例:
    (1)直接冒泡
    public void sort(int[] list,int size){
        for (int i = 0;i<size-1;i++){
    for (int j = 0 ;j<size-1;j++){
    int temp ;
    //boolean flag = false ;//优化的冒泡算法
    if (list[j]>list[j+1]){
    temp = list[j];
    list[j] = list[j+1];
    list[j+1] = temp ;
    //flag = true ;
    }
    }
    //if (flag = true)
    // break;
    }
    }
    (2)正宗冒泡
    public void sort(int[] list,int size){
    for (int i = 1;i<size-1;i++){
    for (int j = size-1 ;j>=i;j--){
    int temp ;
    //boolean flag = false ;//优化的冒泡算法
    if (list[j-1]>list[j]){
    temp = list[j];
    list[j] = list[j-1];
    list[j-1] = temp ;
    //flag = true ;
    }
    }
    //if (flag = true)
    // break;
    }
    }
    (3)设置标志来优化冒泡算法(最优冒泡)
        如(2)注释部分
    3、复杂度分析:时间复杂度:外层循环执行N-1次,内层循环最多执行N次,最少执行1次,平均执行(N+1)/2,循环比较(N+1)*(N-1)/2=(N^2-1)/2次。复杂度为O(N^2)。
  • 相关阅读:
    Educational Codeforces Round 80 (Rated for Div. 2)
    2020 CCPC Wannafly Winter Camp
    Codeforces Round #613 (Div. 2)
    Codeforces Round #612 (Div. 2)
    Hello 2020
    Good Bye 2019
    Codeforces Round #590 (Div. 3)
    依赖注入
    Spring 拦截器
    rsync服务端一键安装rsync脚本(非源码)
  • 原文地址:https://www.cnblogs.com/chump-zwl/p/6953296.html
Copyright © 2011-2022 走看看