早教吧作业答案频道 -->其他-->
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
插入法排序的基本思想是:每输入一个数,马上将其插入到数组中,数据在输入过程中总是有序的。例如:对数组中已有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
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
看了VB插入元素插入法排序的基本思...的网友还看了以下:
三个连续奇数,中间一个是n,那么最大的奇数是()A.n-1B.n+1C.n-2D.n+2 2020-04-22 …
填空:5个连续整数中,如果中间一个是n,那么另外4个是,如果最小的一个是a,那么另外4个是. 2020-04-26 …
小学数学题,1-8个数字每个只能用一次小学数学题,1-8八个数字每个只能用一次使等式成立:N/N= 2020-05-13 …
“^”代表次数!1.若多项式5X^+X^Y^+2是六次三项式,求N^+2N-1的值(第一个^是2N 2020-05-13 …
已知各项均不相等的等差数列{an}的前四项之和S4=14,且a1a3a7成等比数列求an通项(这个 2020-05-14 …
一个5个字母组成的单词,第二个是u,第4个是n是冀教版的英语书,第五册的字谜题(p44),望知道的 2020-05-16 …
连续三个整数中间一个是n则第一个和第三个整数分别是?连续三个整数中间一个是n则第一个和第三个整数分 2020-05-20 …
1.三个连续偶数,中间一个是n,则这三个数的和是2.观察下面数列:1,2,4,8,16,32,等归 2020-05-22 …
求数项级数的和∑(n=1到无穷)n^2/n!最后一个是n的阶乘. 2020-06-06 …
跪求小学英语纵横字谜.就是根据图填字谜.一个小男孩和一个小女孩聊天.第一行三个字母,第二个是o.第 2020-06-06 …