早教吧 育儿知识 作业答案 考试题库 百科 知识分享

VB插入元素插入法排序的基本思想是:每输入一个数,马上将其插入到数组中,数据在输入过程中总是有序的。例如:对数组中已有n-1个有序数,当输入某数x时,插入排序法的步骤如下:(1

题目详情
VB插入元素
插入法排序的基本思想是:每输入一个数,马上将其插入到数组中,数据在输入过程中总是有序的。例如:对数组中已有n-1个有序数,当输入某数x时,插入排序法的步骤如下:
(1)找x应在数组中的位置j
(2)从最后一个数开始共n-j个数依次往后移,使位置为j的数让出。
(3)将数 x放入数组中应有的位置j,一个数插入完成
对于若干个数输入,只要调用插入排序过程即可。
下面的程序实现用插入排序法输入不多于10个数,使数组保持递增序列,请按照程序设计思路完成程序,并运行,将实验结果按要求填入“实验过程结果”一栏中。

窗体设计界面
Dim n As Integer
Sub insert(a() As Single, ByVal x%)
Dim i%, j%
j = 1
Do While j < n And x > a(j) '查找x应插入的位置
j = j + 1
Loop
For i = n - 1 To j Step -1 'n-j个元素往后移
填空1
Next i
填空2 '插入元素
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static bb!(1 To 10)
Dim i%,m%
If n = 10 Then
MsgBox "数据太多!", 1, "警告"
End
End If
If KeyAscii = 13 Then
n = n + 1
m=val(text1.text)
填空3 ‘调用inser过程,将输入的数插入到数组中
Picture1.Print Text1.Text
For i = 1 To n
Picture2.Print bb(i);
Next i
Picture2.Print
Text1.Text = ""
End If
End Sub
▼优质解答
答案和解析
窗口画一个textbox控件,两个pictrueBox控件
Dim n As Integer
Sub insert(a() As Single, ByVal x%)
Dim i%, j%
j = 1
Do While j < n And x > a(j) '查找x应插入的位置
j = j + 1
Loop
For i = n - 1 To j Step -1 'n-j个元素往后移
a(i + 1) = a(i)
Next i
a(j) = x '插入元素
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
Static bb!(1 To 10)
Dim i%, m%
If n = 10 Then
MsgBox "数据太多!", 1, "警告"
End
End If
If KeyAscii = 13 Then
n = n + 1
m = Val(Text1.Text)
insert bb, m '调用inser过程,将输入的数插入到数组中
Picture1.Print Text1.Text
For i = 1 To n
Picture2.Print bb(i);
Next i
Picture2.Print
Text1.Text = ""
End If
End Sub