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;
    }
    }
  • 相关阅读:
    使用yield实现一个协成
    串讲-Python基础练习
    Linux练习
    列表生成式
    Jupyter Notebook的快捷键帮助文档
    mysql字段类型
    爬取12306火车票信息
    【Lodop】02 C-Lodop手册阅读上手
    【Lodop】01 Lodop手册阅读上手
    【Redis】06 事务
  • 原文地址:https://www.cnblogs.com/xiaohualu/p/11773001.html
Copyright © 2011-2022 走看看