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;
    }
    }
  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/11773001.html
Copyright © 2011-2022 走看看