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; } } }
待完善...