使用直接插入法对数组进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用直接插入法对数组进行排序相关的知识,希望对你有一定的参考价值。

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),这样既可实现插入后数列仍然有序。

如图所示:

技术分享

本文出自 “IT菜鸟” 博客,请务必保留此出处http://mazongfei.blog.51cto.com/3174958/1907011

以上是关于使用直接插入法对数组进行排序的主要内容,如果未能解决你的问题,请参考以下文章

希尔排序算法

插入类排序--直接插入排序

希尔排序

LeetCode每天一题Insertion Sort List(使用插入法对链表进行排序)

算法系列-------直接插入排序(InsertionSort)

java排序之插入排序(直接插入排序和希尔排序)