题目

排序的稳定性。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j], 且r[订]在r[j]之前, 而在排序后的序列中,r[i]仍在r[j]之前,则称这种撸序算法是稳定的:否则称为不稳定的。现编写一个VB程序,实现功能如下:随机生成n-1个不重复的[10, 99]之间的正整数,在这n-1正整数中随机选取一个位置i,将其值r[i]作为第n个数插入到某一位置j处,然后对数据序列进行排序,验证排序前和排序后这两个相同数相对次序的变化,著均不变,则排序稳定,若有改变,则排序不稳定。实现该功能的VB程序及界面如下,请回答以下问题。 Const n = 10 Dim a(1 To 10) As Integer, b(1 To 10) As Integer Dim k1 As Integer, k2 As Integer     'k1,k2为相同数据的前、后次序 Private Sub Command1_Click ()     Dim i As Integer, tmp As Integer, t As Integer     Randomize     List1.Clear     For i = 1 To 9    '随机生成9个不重复数         b(i) = Int(Rnd * 90) + 10         Do While    ①                b(i) = Int(Rnd *90) + 10         Loop     Next i     '以下代码为随机选取数组中的1个数作为第10个数字再随机的插入到原数组的1-9位置     K1 = Int(Rnd *9 + 1)     tmp = b(k1)     k2 = Int(Rnd* 9 + 1)     For i=10 To k2+1 Step -1         b(i)=b(i-1)     Next i     b(k2) = tup     For i =1 To n         a(i) = i         List1. AddItem Str(a(i)) +””+ Str(b(i))     Next i     If k1 >= k2 Then            ②            t =k1: k1=k2: k2=t     End If     Text1. Text = Str(k1) + Str (k2) End Sub Private Sub Command2 _Click ()     Dim i As Integer, j As Integer, k As Integer, t As Integer     List2. Clear     For i=1 To n-1         k=i         For j=i +1 To n             If b(j) < b(k) Then k= j         Next j         If k<>i Then             t=a(k): a(k)=a(i): a(i)=t             t=b(l): b(k)=b(i): b(i)=t         End If     Next i     For i= 1 To n         List2.AddItem Str (a(i)) +"" + Str (b(i))     Next i     i=1     Do While i<=n-1 And b(i)< b(i+1)         i=i+1     Loop     Text2.Text = Str(a(i)) + Str(a(i + 1))     If    ③    Then Label1. Caption="稳定" Else Label1. Caption ="非稳定" End Sub Function check(x As Integer, y As Integer) As Boolean     Dim j As Integer     check = False     For j= 1 To y-1         If b(j)=x Then             check = True             Exit For         End If     Next j End Function (1) 分析程序代码,若某次运行显示“稳定”,则是否能确定选择排序是稳定排序?(填:是/否) (2) 补充横线处完整代码 ① ② ③  答案: 【1】否 【1】check(b(i), i)【2】k1 = k1 + 1【3】a(i) = k1
信息技术 试题推荐
最近更新