package com.jz; /** * @ClassName * @Description * @Author li_yangyang * @Date * @Version */ public class InsertSort { private int[] array; private int length; public InsertSort(int[] array){ this.array = array; this.length = array.length; } public void display(){ for(int a: array){ System.out.print(a+" "); } System.out.println(); } /* * 插入排序方法 */ public void doInsertSort(){ //外层向右的index,即作为比较对象的数据的index for(int index = 1; index<length; index++){ //用作比较的数据 int temp = array[index]; int leftindex = index-1; //当比到最左边或者遇到比temp小的数据时,结束循环 while(leftindex>=0 && array[leftindex]>temp){ array[leftindex+1] = array[leftindex]; leftindex--; } //把temp放到空位上 array[leftindex+1] = temp; } } public static void main(String[] args){ int[] array = {8,66,99,66,13,98,55}; InsertSort is = new InsertSort(array); System.out.println("排序前:"); is.display(); is.doInsertSort(); System.out.println("排序后:"); is.display(); } }