|登录 |注册

查看: 1667|回复: 6
打印 上一主题 下一主题

[VB]如何运用气泡排列法

[复制链接]
silenus_hui
2010-2-1 04:51 PM
如题 我要设计一个以气泡排列法排列线条大小 颜色顺序的程式
运用到的 元件 command buttom x5 (一个 randomize 一个 increase 一个 decrease 一个 clear 一个end)
还有一个listbox
当按下randomize后随机线条顺序
  按下increase后 线条大小 颜色顺序从小--大  
  按下decrease后 线条大小 颜色顺序从大--小
  clear我会了 end 也是
我的问题是 我不懂要dim as 什么
气泡排列法我懂皮毛
TSHsoft
2010-2-1 08:39 PM
这是功课吗?这个很简单,你再认真想想吧!
~Zero
2010-2-1 09:02 PM
bubblesort 吗?
这是最简单最基本的 sorting algorithm 来的, 加油.

小到大,
for (第一个到最后一个) {
      if (现在 > 下一个) { 两个调换 }
}
silenus_hui
2010-2-1 11:05 PM
程式的方面我会
我不会dim as xxx 罢了 =.=!! 汗
请问要dim as 什么才有线条大小的东西出来em0010
我想了很久了

[ 本帖最后由 silenus_hui 于 2010-2-1 11:09 PM 编辑 ]
silenus_hui
2010-2-1 11:07 PM
Dim A(10) As Integer
Private Sub cmd1_click()
    Dim i As Integer
    Dim s As String
    Randomize
    For i = 1 To 10
    A(i) = Rnd(i) * 100
    s = s + Str(A(i)) & Space(5)
    Next
    List1.AddItem s
End Sub

Private Sub cmd2_Click()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim temp As Integer
        For i = 1 To 10
            For j = 1 To i
                If A(i) < A(j) Then
                    temp = A(i)
                    A(i) = A(j)
                    A(j) = temp
                    s = " "
                    For k = 1 To 10
                        s = s + Str(A(k)) & Space(5)
                    Next
                    List1.AddItem s
                End If
            Next
        Next
    s = " "
    For i = 1 To 10
        s = s + Str(A(i)) & Space(5)
    Next
    List1.AddItem s
End Sub

Private Sub Cmd3_click()
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim temp As Integer
        For i = 1 To 10
            For j = 1 To i
                If A(i) > A(j) Then
                    temp = A(i)
                    A(i) = A(j)
                    A(j) = temp
                    s = " "
                    For k = 1 To 10
                        s = s + Str(A(k)) & Space(5)
                    Next
                    List1.AddItem s
                End If
            Next
        Next
    s = " "
    For i = 1 To 10
        s = s + Str(A(i)) & Space(5)
    Next
    List1.AddItem s
End Sub

Private Sub cmd4_Click()
    List1.Clear
End Sub

Private Sub cmd5_Click()
    End
End Sub

这个是我自己设计的10个乱数的排列法
那么 线条的要dim as什么
TSHsoft
2010-2-3 08:59 PM
用shape吧。。。
silenus_hui
2010-2-4 07:22 PM
哦哦 會了 謝謝哦~
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2026-1-2 04:40 AM , Processed in 0.096335 second(s), 23 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部