zoukankan      html  css  js  c++  java
  • 数据结构学习--Java简单排序

    冒泡排序需要元素每次遍历都从最底部向上冒泡,找到适合的位置后,该位置之后的元素继续向上冒,这样一趟排序结束后,将冒出最大或者最小值。

    选择排序需要元素从0号位开始向上遍历一遍,并将最小值放到0号位上,下一次遍历则开始处理1号位元素,以此类推。(选择排序要比冒泡排序效率要高一些)

    插入排序需要元素初始时从1号位开始,向后遍历,从比角标小的位置开始对比,遇到比角标元素大的值就将角标前的数组元素后移(该过程不断循环至flag<0,或者比角标值小时结束),并将角标元素插入新位置。

    一、冒泡排序

    public static void sort(long[] arr){
    long tmp = 0;
    for(int i = 0;i < arr.length - 1;i ++){
    for(int j = arr.length - 1;j > i;j --){
    if(arr[j] < arr [j - 1]){
    tmp = arr[j];
    arr[j] = arr[j - 1];
    arr[j - 1] = tmp;
    }
    }
    }
    }
    二、选择排序
    public static void sort(long[] arr){
    int k = 0;
    long tmp = 0;
    for(int i = 0;i < arr.length - 1;i ++){
    k = i;
    for(int j = i;j < arr.length; j ++){
    if(arr[j] < arr[k]){
    k = j;
    }
    }
    tmp = arr[i];
    arr[i] = arr[k];
    arr[k] = tmp;
    }
    }
    三、插入排序
    public static void sort(long[] arr) {
    long tmp = 0;
    for(int i = 1;i < arr.length; i++){
    tmp = arr[i];
    int j = i;
    while (j > 0 && arr[j - 1] >= tmp){
    arr[j] = arr[j - 1];
    j --;
    }
    arr[j] = tmp;
    }
    }
  • 相关阅读:
    Zepto swipe 无效(坑)
    Zepto.js-Ajax 请求
    Zepto.js-事件处理
    excel 大文件解析原理实现
    springboot 集成J2Cache
    springboot 单元测试 指定启动类
    springboot 解决 数字长度过长导致JS精度丢失问题
    JS 基本操作
    VUE 动态菜单管理
    VUE router-view key 属性解释
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/11773001.html
Copyright © 2011-2022 走看看