int[] array = new int[10];
		//生成随机数对象
		Random random = new Random();
		for (int i = 0; i < array.length; i++) {
			array[i] = random.nextInt(50);
			System.out.print(array[i]+" ");
		}
		System.out.println("\n排序后:");
		int temp;//定义临时变量
		int j;
		for (int i = 1; i < array.length; i++) {
			//保存临时变量
			temp = array[i];
			for (j = i- 1; j >=0 && array[j]>temp; j--) {
				//数组元素交换
				array[j+1] = array[j];
			}
			//在排序位置插入数据
			array[j+1] = temp;
		}
		//输出
		for (int i = 0; i < array.length; i++) {
			System.out.print(array[i]+"\t");
		}

//插入算法原理:

插入排序是将一个记录插入到有序数列中,使得到的新序列仍然有序。

将n个有序数存放在数组a中,要插入的数为x,首先确定x插在数组中的位置p,数组中p之后的元素都向后移一个位置,空出a(p),将x放入a(p),这样既可实现插入后数列仍然有序。

如图所示:

wKioL1jJQHSDv5FdAABNQLq-56U219.jpg