JBTALKS.CC

标题: [VB]如何运用气泡排列法 [打印本页]

作者: silenus_hui    时间: 2010-2-1 04:51 PM
标题: [VB]如何运用气泡排列法
如题 我要设计一个以气泡排列法排列线条大小 颜色顺序的程式
运用到的 元件 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 (https://jbtalks.my/) Powered by Discuz! X2.5