数据结构的题目(VB)

来源:百度知道 编辑:UC知道 时间:2024/06/21 09:04:57
用VB的~,只要代码就行,悬赏分可以追加

1.纸牌游戏:编号为1-52的52张扑克牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的、7的、……,直到以52为基数的翻过,问这时正面向上的牌有哪些?
2.约瑟夫回环问题(线性表应用):要求在VB环境下用顺序方式实现。设有m个人围坐成一圈,从某人的下一位开始计数,数到n则该人出圈;从他的下一位开始再行计数,数到n者出圈,这样重复进行,直至剩下1人为止,要求输出出圈者的顺序号和剩下者的顺序号。提示:有人在可将数组元素定义为1,出圈者位置定义为0。
3.用VB编制快速排序程序,要求采用非递归方式实现,排序数据可以为随机数,并比较数据量在一百万、一千万、二千万、八千万、八千万时的排序时间(VB系统中自午夜0:00始的秒数由只读属性Timer保存,可用于推算程序执行时间)。
4.用顺序方式生成有70个结点的完全二叉树,结点的值为不重复的随机数
(1) 在窗体上利用标签控件或者文本框控件等显示这棵二叉树(表示出层次);
(2) 用非递归的方式先序遍历此树,将值显示在列表框中;
(3) 在列表框中输出所有叶结点的值;
(4) 判断这棵二叉树的高度;
(5) 输出那些值大于其两个孩子结点值的结点。

d第一题 我一会再给后面的:第三题和第四题实在是太麻烦了,我能力实在有限。短时间之内是做不出来了。
Private Sub Command1_Click()
Dim i As Integer
Dim l As Integer
Dim r(52) As Integer
Dim y As String
Dim x As String

For i = 1 To 52
r(i) = i
Next i

For l = 2 To 52
For i = 1 To 52
If i Mod l = 0 Then
If r(i) = 0 Then
r(i) = i
Else
r(i) = 0
End If
Else

End If
x = x & r(i) & ","
Next i
Print x
x = ""
Next l
For i = 1 To 52
If r(i) > 0 Then
y = y & r(i) & ","
End If

Next i

Print y
End Sub

第二题
Dim s() As Integer

Private Sub Command1_Click()
Dim m As Integer
Dim n As Integer
Dim y As Integer
Dim l As Integer
Dim i As Integer
Dim k As Integer
Dim x As Boolean
x = Fa