首页 > 代码库 > 直接插入排序

直接插入排序

直接插入排序是一种简单的排序方法。其基本思想是,开始时将原序列的第一个元素看作一个有序序列。然后依次取出原序列第二个元素及其后面的元素,并将其插入到有序序列中合适的位置,这样经过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;
	}
	



直接插入排序