2、e语言代码如下:
.版本 2
.支持库 iext
.程序集 窗口程序集_启动窗口
.子程序 _按钮1_被单击
.局部变量 计数1, 整数型
.局部变量 计数2, 整数型
.计次循环首 (超级列表框1.取表项数 (), 计数1)
超级列表框2.插入表项 (, 超级列表框1.取标题 (计数1 - 1, 0), , , , 1)
.计次循环首 (超级列表框1.取列数 (), 计数2)
超级列表框2.置标题 (计数1 - 1, 计数2, 超级列表框1.取标题 (计数1 - 1, 1))
.计次循环尾 ()
计数2 = 0
.计次循环尾 ()
.子程序 __启动窗口_创建完毕
.局部变量 计数, 整数型
超级列表框1.插入列 (, “aaa”, 100, , , )
超级列表框1.插入列 (, “bbb”, 100, , , )
超级列表框1.插入列 (, “ccc”, 100, , , )
.计次循环首 (5, 计数)
超级列表框1.插入表项 (, “列一条目” + 到文本 (计数), , , , )
超级列表框1.置标题 (计数 - 1, 1, “列二条目” + 到文本 (计数))
超级列表框1.置标题 (计数 - 1, 2, “列二条目” + 到文本 (计数))
.计次循环尾 ()
超级列表框2.插入列 (, “aaa”, 100, , , )
超级列表框2.插入列 (, “bbb”, 100, , , )
超级列表框2.插入列 (, “ccc”, 100, , , )
3、测试环境“易语言5.3”。
Dim a() As IntegerDim i as Integer
For i = 0 To 100
'先调整动态数组可容纳元素的数量。注意:用Preserve关键字保留先前的数据!
Redim Preserve a(0 To i) As Integer
'再追加新的元素(数据)
a(i) = i
Next
上面代码,将0~100依次追加到动态数组a里
PrivateSub
cmdMake_Click()
Dim
i
As
Integer
Dim
sngElement
As
Single
lstUnsorted.Clear
'
将列表框置空
Randomize
'
随机生成MAXPLAYER
个无序元素
For
i
=
1
To
MAXPLAYER
'
产生随机数,乘以10
后进行四舍五入,结果保留2
位小数
sngElement
=
Round((Rnd()
*
10),
2)
'
将产生的随机数添加到列表框中
lstUnsorted.AddItem
sngElement
Next
'
设置插入排序按钮可用
cmdInsSort.Enabled
=
True
End
Sub Private
Sub
cmdInsSort_Click()
Dim
aryPlayer(MAXPLAYER)
As
Single
Dim
i
As
Integer,
j
As
Integer
'
将无序列表中的数据读入排序数组中
For
i
=
1
To
MAXPLAYER
aryPlayer(i)
=
lstUnsorted.List(i
-
1)
Next
'
初始状态下,数组的第1
个元素被看作是有序的部分
'
从第2
个元素起,依次将其插入到前面的有序部分
For
i
=
2
To
MAXPLAYER
'
将第i
个元素的值赋给哨兵
aryPlayer(0)
=
aryPlayer(i)
'
以下代码从前向后将有序部分大于哨兵的元素后移
j
=
i
-
1
Do
While
aryPlayer(j)
>
aryPlayer(0)
aryPlayer(j
+
1)
=
aryPlayer(j)
j
=
j
-
1
Loop
'
第j
个元素不大于哨兵
'
则将哨兵(即第i
个元素)插在第j
个元素后
aryPlayer(j
+
1)
=
aryPlayer(0)
Next
'
将排序后的数组添加到排序列表中
lstInsSort.Clear
For
i
=
1
To
MAXPLAYER
lstInsSort.AddItem
aryPlayer(i)
Next
End
Sub
“插入排序”按钮的参考代码如下,其中,“哨兵”由aryPlayer
(0)元素
充当。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)