实例040 使用直接插入法对数组排序
实例040 使用直接插入法对数组排序
实例说明
本实例演示如何使用直接插入排序法对一维数组进行排序。运行本实例,首先单击“随机生成数组”按钮,生成一个随机数组,并显示在左边的文本框中;然后单击“排序”按钮,使用直接插入排序法对生成的一维数组进行排序,并将排序后的一维数组显示在右边的文本框中。实例的运行效果如图513所示。
实现过程
(3)编写“随机生成数组”按钮的事件处理方法,在该方法中利用Ra象的法生成随机为数组设置初始值。关键代码如:
(4)编写“排序”按钮的事件处理方法,在该方法中使用直接插入排序算法对数组进行排序,并将排序后的数组显示到界面中。关键代码如下
技术要点
本实例主要用到了直接插入排序算接插入排序算法的实现原理进行详细讲解排序是将录插序使得到的新数列仍然有序。插算法的思想是:
将n个有序数存放在数组a中,要插入的数为x,首先确定x插在数组中的位置p,数组中p之后的元素都向后移一个位置,空出a(p),将x放入a(p)。这样即可实现插入后数列仍然有序。
使用插入排序法排序的过程如图514所示。
完整代码
1 | package com.lan; |
运行效果
待排序数组:
1 | 41,22,37,46,45,0,42,12,10,34 |
排序效果:
1 | [22,41],37,46,45,0,42,12,10,34 |
待排序数组
1 | 11,34,35,15,36,0,13,24,16,16 |
排序效果:
1 | [11,34],35,15,36,0,13,24,16,16 |