编写VB程序,实现上述功能。运行程序,在列表框List1中显示全部图书编号。单击“整理”按钮Command1,在标签Label1中显示待调整区间图书的册数,在文本框Text1中显示待调整区间图书的起止编号,并在列表框List2中显示排序后的图书编号。程序运行界面如图所示,其中①和②两处分别指向待调整区间图书的起始和截止编号。
(1)如图所示,若采用选择排序算法,
(2)实现上述功能的部分VB程序如下,请在划线处填入合适的代码。
'n是常量,代码略
Dim a(0 To n) As String
Private Sub Form_ Load()
a(0)='' ''
'将n册图书的编号存入数组元素a(1)-a(n),在List1中显示,代码略
End Sub
Private Sub Command1_ Click()
Dim i As Integer, k As Integer, left As Integer, right As Integer
Dim min As String, max As String
min= "": max= "": left= I: right= ()
For i=1To n- 1
If a(i)> a(i+1) Then
max=a(i)
left= i: Exit For
End If
Next i
For i= n To 2 Step-l
If
min = a(i)
right=i: Exit For
End If
Next i
i=left
Do While i<= right
If a(i)> max Then
max=a(i)
ElseIf a(i)< min Then
min= a(i)
End If
i=i+1
Loop
k=0
If left < right Then
left=getPos(l, left, min)
k= right-left+ 1
Text1.Text= "待调整区间图书起始编号:" + a(left)+"-->截止编号:"+
a(right)
End If
Labell. Caption = "待调整区间图书共有:"+ Str(k)+“册”
'对待调整区间的图书编号进行排序,在List2中输出整理结果,代码略
End Sub
Function getPos(head As Integer, tail As Integer, value As String)As Integer
Dim i As Integer
i=tail
Do While
i=i-1
Loop
getPos=i+1
End Function
同类型试题
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2
y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2