直接插入排序是一种简单的排序方法。其基本思想是,开始时将原序列的第一个元素看作一个有序序列。然后依次取出原序列第二个元素及其后面的元素,并将其插入到有序序列中合适的位置,这样经过n-1次插入后就完成排序了。
//直接插入排序, x待排序数组, n数组长度 private static void sort(int[] x, int n){ int i,j,t; for(i = 1; i < n; i++){ //i表示插入次数,共进行n-1次插入 t = x[i]; for(j = i-1; j >= 0; j--){ //寻找要插入t的位置 if(t < x[j]){ //如果t < x[j] ,t就要插入到x[j]的前面, x[j+1] = x[j]; //x[j]要向后移动,所以x[j+1] = x[j] }else{ break; //找到位置,退出循环 } } x[j+1] = t; //直接插入 } //打印排序后的数组 for(int m = 0; m < x.length; m++){ System.out.println(x[m]); } return; }
原文地址:http://blog.csdn.net/zbao6062/article/details/43239403