如题VB速度要快

解决方案 »

  1.   

    如求: 1--136的一个排列吧Option Explicit
    Dim a(135) As Integer
    Private Sub Form_Load()
       Dim i As Integer
       For i = 0 To 135
          a(i) = i + 1
       Next i
    End SubPrivate Sub Command1_Click()
       Randomize
       Dim i As Integer
       Dim ss As Integer
       Dim j As Integer
       Dim k As Integer
       For i = 0 To 135
          j = 134 * Rnd() + 1
          k = 134 * Rnd() + 1
          ss = a(j)
          a(j) = a(k)
          a(k) = ss
       Next i
       For i = 1 To 135
          Form1.Print a(i);
       Next i
       Form1.Print
    End Sub
      

  2.   

    楼上的哥们,是全排列,哪能带有随机的成份?
    用递归吧,速度我不敢保证,但代码量还是比较小的。dim arry
    private sub button1_click
    redim arry(100)
    for i=1 to 100
    arry(i-1)=i
    next
    arrange(100)
    end subfunction arrange(n)
      dim swap
      for i=1 to n
        swap=arry(0)
        arry(0)=arry(i-1)
        arry(i-1)=swap
        debug.print join(arry," ")
        arrange(n-1)
      next
    end function