码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-03-16 03:27:43      阅读:210      评论:0      收藏:0      [点我收藏+]

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

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

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

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

原文地址:http://mazongfei.blog.51cto.com/3174958/1907011

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!