• Java数据结构之排序


    1、冒泡排序:时间复杂度为O(n2)

    假设是由小到大排序:相邻两个数之间进行比较,较大的数在后面。一次比较过后最大的数排在最后面

    如:40、8、15、18、12一次排序后为:8、15、18、12、40依次排好直到由小到大拍好

    for(int i = 0;i < n-i; i++){
       for(int j = 0;j < n-1-i;j++){      //最后几位已经排好的就不需要再排序了
           if(a[j] > a[j+1]){
               k= a[j];
               a[j] = a[j+1];
               a[j+1] = k;
           } 
       }  
    }

    2、选择排序:时间复杂度为O(n2)

    假设是由小到大的排序:每次选出排序一次中最小的数放在第一位

    如:3、4、1、5、2一次排序后为:1、4、3、5、2

    for(int i=0;i<n-1;i++){
        for(int j=i+1;j<n;j++){
            if(a[i]>a[j]){
               k= a[i];
               a[i] = a[j];
               a[j] = k;
            }
        }
    }    

     3、插入排序:

    假设是由小到大的排序:每次排序某个数与之前的数进行比较,若小于则插在其前直到大于前面的数

    for(int i =1;i < n; i++){
        int j = i-1;
        int k = a[i];
        while(a[i] < a[j]&&j >= 0){
             a[j+1] = a[j];
    j--; } a[j]
    = k; }
  • 相关阅读:
    JavaWeb笔记
    Session案例_登录注销
    会话
    Cookie入门
    jsp入门
    if else优化
    cheap-source-map--不显示源码 、source-map--显示源码 、 eval--最快的编译办法
    npm run dev 克隆报错
    $emit和$on的用法
    npm
  • 原文地址:https://www.cnblogs.com/sker/p/5782040.html
Copyright © 2020-2023  润新知