算法之排序算法-直接插入排序

package com.ebiz.sort;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author YHj
 * @create 2019-07-29 8:56
 * 插入排序
 */
public class Insert {


    public static void main(String[] args) {
       // int [] arr={101,34,119,1};

        int[] arr = new int[80000];
        for (int i = 0; i < 80000; i++) {
            arr[i] = (int) (Math.random() * 800000);
        }

        String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        System.out.println("排序前 = " + s);

        getResult(arr);


        String l = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        System.out.println("排序后 = " + l);


        //System.out.println(Arrays.toString(arr));

    }

    public static void getResult(int[] arr) {

        for (int i=1;i<arr.length;i++){
            //定义待插入的数
            int insertVal=arr[i];
            //前一位数的索引
            int insertIndex=i-1;
            while (insertIndex>=0 && arr[insertIndex]>insertVal){
                arr[insertIndex+1]=arr[insertIndex];
                insertIndex--;
            }
            //循环结束找到待插入的位置.当前索引的前一位   
            arr[insertIndex+1]=insertVal;
        }

    }


}

待完善...

猜你喜欢

转载自www.cnblogs.com/jiushixihuandaqingtian/p/11299213.html