• 插入算法---java实现


    插入排序java代码实现

    package algorithms.插入排序;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    /**
     * @Author: Lance
     * @Date: 2018/8/7 10:44
     */
    public class Main {
    
        public static void main(String[] args) throws Exception {
    
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
            String temp = bufferedReader.readLine();
    
            String[] arrString = temp.split(" ");
            int[] arr = new int[arrString.length + 1];
    
            //把String数组转成int数组
            for (int i = 0; i < arrString.length; i++) {
                arr[i + 1] = Integer.parseInt(arrString[i]);
            }
    
            Main main = new Main();
    
            int[] arrTest = main.insertSort(arr);
            main.print(arrTest);
    
    
        }
    
    
        public int[] insertSort(int[] arr) {
    
            if (arr.length == 1 && arr.length == 2) {
                return null;
            }
            for (int i = 1; i < arr.length; i++) {
    
                //以下一行代码可以理解为,我扣了i张牌,第i张牌和前i-1张牌依次对比
                for (int j = i - 1; arr[j] >= 0 && arr[j] > arr[j + 1]; j--) {
                    swap(arr, j, j + 1);
                }
    
            }
            return arr;
    
        }
    
        public void swap(int[] arr, int i, int j) {
    
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
    
        }
    
        public void print(int[] arr) {
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
        }
    }
    
  • 相关阅读:
    React学习笔记(六)事件处理
    React学习笔记(五)State&声明周期
    学会装逼,你的人生可能会开挂
    Go指南
    JavaScript检测数据类型
    $.on()方法和addEventListener改变this指向
    JavaScript返回上一页
    js继承
    js原型二
    全局变量与局部变量
  • 原文地址:https://www.cnblogs.com/lancexu/p/9436752.html
Copyright © 2020-2023  润新知