现在的位置: 首页 > 综合 > 正文

Java实现直接插入排序

2018年04月22日 ⁄ 综合 ⁄ 共 701字 ⁄ 字号 评论关闭

直接插入排序是有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序;排序的主要思想是:将有序数存放在数组a中,要插入的数为x,首先要确定x在数组a中的位置p,然后将数组a中p位置以后的数都往后移动一位,空出a(p),然后将x放入a(p)位置,这样即可实现插完以后的数据仍然有序。

首先生成一组随机数:

protected void do_button_actionPerformed(ActionEvent e)
{
	Random random = new Random();
	textArea1.setText("");
	for(int i = 0;i<array.length; i++){
		array[i] = random.nextInt(90);
		textArea.append(array[i] + "\n");
	}
}

排序算法代码:

protected void do_button1_actionPerformed(ActonEvent e)
{
	int tmp;
	int j;
	for(int i = 1;i<array.length; i++)
	{
		tmp = array[i];
		for(j =i - 1; j>=0 && array[j] > tmp; j--){
			array[j+1] = tmp;
		}
		array[j+1] = tmp;
	}
	textArea2.setText("");
	for(int i = 0;i<array.length; i++){
		textArea2.append(array[i] + "\n");
	}
}

各种排序算法的比较请见博客:http://blog.csdn.net/weasleyqi/article/details/7768055

抱歉!评论已关闭.