- 基础理论
- 数据及数据库技术
- 人工智能
- 算法理论
- + 算法实例
- 枚举算法
- 解析算法
- 排序算法
- 查找算法
- 递归算法
- 面向对象程序设计 VB开发工具
- 算法实例的程序实现
- 算法及算法的表示方法
- 多媒体理论
- 基础软件操作
- 算法软件操作
- 多媒体软件操作
- 网络技术应用
数组d中存放了一组数据如表所示。采用选择排序对这组数据进行递增次序排序。第二遍加工过程中,进行数据交换的数组元素是( )
d[1] | d[2] | d[3] | d[4] | d[5] | d[6] | d[7] | d[8] |
90 | 84 | 85 | 72 | 80 | 71 | 66 | 70 |
A.d[2]与d[3] | B.d[2]与d[1] | C.d[2]与d[8] | D.d[2]与d[7] |
以下适合用解析算法解决的问题是( )
A.将10个评委的打分按由大到小的顺序进行排序 | B.计算出租车费 |
C.找出一管乒乓球中质量不符合标准的球 | D.求三位正整数中的“水仙花数” |
某对分查找算法的VB程序段如下:
Key=val(Text1. text)
i = 1: j = 10
Do While i <= j
m = int<(i + j) / 2)
If a(m) = key Then Exit Do
If key>a(m) Then i = m + 1 Else j = m - 1
Text2. text= Text2. text+str(a(m))
Loop
Key=val(Text1. text)
i = 1: j = 10
Do While i <= j
m = int<(i + j) / 2)
If a(m) = key Then Exit Do
If key>a(m) Then i = m + 1 Else j = m - 1
Text2. text= Text2. text+str(a(m))
Loop
数组元素a(1)到a(10)的值依次为“5,12,20,29,36,40,55,58,66,74”,若在文本框Text1中输入数据,执行该程序段,文本框Text2中显示的内容为:36,58,40,55,则key的值可能是
A.38 | B.45 | C.55 | D.70 |
(加试题)编写一个VB程序实现数据左右交替上升排序。功能如下:随机产生n个不重复的整数存数组a,并在列表框listl中显示,单击“排序”按钮Commandl,在列表框list2中显示排序后的数据。某遍程序运行后,数组a中存储的左右交替上升排序的n个正整数,如下表所示:
实现该功能的VB程序如下,但加框处代码有错,请改正。
Constn=10
Dima(1 To n) As Integer
Private Sub Form_Load()
‘随机产生n个不重复的整数存数组a,并在列表框listl中显示。代码略。
End Sub
Private Sub Command1_Click()
If a(iminl)>a(imin2) Then t=iminl:iminl=imin2:imin2=t
For j=i+2 To n-i+1
If a(j)<a(imin1) Then
imin2=iminl;iminl=j
‘(1) _______________________________
imin 2=j
End If
Next j
If i◇imin 1 Then t=a(i):a(i)=a(imin1):a(imin1)=t
If imin 2=i Then
‘(2) _______________________________
If n-i+1◇imin2 Then t=a(n-i+1):a(n-i+1)=a(imin2):a(imin2)=t
a(1) | a(2) | a(3) | …… | a(n-2) | a(n-1) | a(n) |
1 | 4 | 7 | …… | 8 | 6 | 2 |
实现该功能的VB程序如下,但加框处代码有错,请改正。
Constn=10
Dima(1 To n) As Integer
Private Sub Form_Load()
‘随机产生n个不重复的整数存数组a,并在列表框listl中显示。代码略。
End Sub
Private Sub Command1_Click()
Dim i As Integer,j As Integer,t As Integer
Dim i minl As Integer,imin2 As Integer
For i=1 To n\2
Imin l=i:imin2=i+1If a(iminl)>a(imin2) Then t=iminl:iminl=imin2:imin2=t
For j=i+2 To n-i+1
If a(j)<a(imin1) Then
imin2=iminl;iminl=j

imin 2=j
End If
Next j
If i◇imin 1 Then t=a(i):a(i)=a(imin1):a(imin1)=t
If imin 2=i Then

If n-i+1◇imin2 Then t=a(n-i+1):a(n-i+1)=a(imin2):a(imin2)=t
Next i
For i=1 To n
Text2.Text=Text2.Text+Str(a(i))Next i
End Sub有如下VB程序段:
For i=1 To 6
a(i)=Int(Rnd()*10)+1
If a(i) Mod 2◇i Mod 2 Theni=i-1
Next i
For i=1 To 5
For j=6 To i+2 Step-1
Next i
执行程序后,a数组各元素可能是
For i=1 To 6
a(i)=Int(Rnd()*10)+1
If a(i) Mod 2◇i Mod 2 Theni=i-1
Next i
For i=1 To 5
For j=6 To i+2 Step-1
If a(j)<a(j-2) Then
t=a(j):a(j)=a(j-2):a(j-2)=tEnd If
Next jNext i
执行程序后,a数组各元素可能是
A.1,2,3,4,5,6 | B.1,0,3,6,5,8 | C.3,2,7,6,11,8 | D.2,1,4,3,10,9 |