插入排序:简单说就是,将数组的第二个元素开始跟数组的第一个元素进行比较,将比较大的元素放在数组的第二个位置(对升序来说),将第三个元素跟数组的第一和第二个元素进行比较,第四个元素跟第一第二第三个元素比较,以此类推。
上述说法可能有点不太通俗易懂,结合程序更能说明问题
public class Sort { //插入排序方法 public static void sort(int[] arry){ int j; int i; int temp; //从第二个跟第一个元素开始进行比较,所以j=1 //比较从1到arry.length; for(j=1;j<arry.length;j++){ temp=arry[j]; i=j-1; //while循环保证要比较的次数 while(i>=0&&arry[i]>temp){ //将较大者放在后面 arry[i+1]=arry[i]; i=i-1; } arry[i+1]=temp; } } public static void main(String[] args) { //初始化数组 int [] array =new int [10]; Random r=new Random(); for(int i=0;i<10;i++){ array[i]=r.nextInt(10); } System.out.println("排序前:"); for(int a:array){ System.out.print(a+" "); } Sort.sort(array); System.out.println(); System.out.println("排序后:"); for(int a:array){ System.out.print(a+" "); } } }