题库 题目列表 有n个从小到大排列的正整数依次存储在数组a中,另有m...
填空题

n个从小到大排列的正整数依次存储在数组a中,另有mm<n)个正整数存储在数组b中。现要求只保留上述n+m个数据中从小到大排列的前n个数据,并依次存人数组a中,其余数据被剔除。

小李为了解决该问题,首先结合数组a的有序性,找出ab两个数组中要剔除的m个数据,再将数组b中保留的数据插入到数组a中。示例如下:

n=10,数组a2468101214161820

m=5,数组b411117299

处理后的数组a246891011121416

1)若n=8m=4,数组a的元素依次为“3461013142125,数组b的元素依次为“318715,按上述要求剔除m个数据后,数组b中保留的数据个数为______

2)实现上述功能的部分VB程序如下,请在划线处填入合适的代码。

Const n=1000m=50

Dim a1 To nAs Integerb1 To mAs Integer

Function getImaxk As IntegerAs Integer

'在数组元素b1~bk)中找出值最大的元素,返回其下标,代码略

End Function

Private Sub Commandl_Click 

Dim i As Integerj As Integerk As Integer

Dim na As Integernb As Integerimax As Integermean As Integerd

'读取数据分别存人数组ab,代码略

na=nnb=m

imax=getImaxnb

For i=1 To m

If ana<= ___   Then

bimax=bnb

nb=nb-1

If nb>0 Then imax=getImaxnb

Else

na=na-1

End If

Next i

Do While nb>0

i=1:j=na

imax= agetImax(nb)

Do While i<=j

mean =(i+j)\2

If a(mean)<b(imax) Then i= mean +1 Else j=mean-1

Loop

For k=na To iStep-1

___   

Next k 

ai+nb-1=bimax

bimax=bnb

____   

nb=nb-1

Loop 

'输出数组a,代码略

End Sub

题目信息
填空题 高考及会考
-
正确率
0
评论
278
点击