VB6 [英] vb6

查看:78
本文介绍了VB6的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能
告诉
me the
代码问题

might tell me the code problem

Dim A()As Integer

Dim L As Integer

Dim I As Integer

Dim A() As Integer
Dim L As Integer
Dim I As Integer

私人子Command1_Click()

    Dim I As Integer

    List1.Clear

   

    L = Val(Text1.Text)

    ReDim保留A(L)为整数

   对于I = 0到L - 1

      A(I)= Val(InputBox("输入数字"& I&":""""""")))b $ b      List1.AddItem A(I)

   接下来我是
   

结束次

Private Sub Command1_Click()
    Dim I As Integer
    List1.Clear
   
    L = Val(Text1.Text)
    ReDim Preserve A(L) As Integer
    For I = 0 To L - 1
      A(I) = Val(InputBox("Enter number" & I & ":", "input"))
      List1.AddItem A(I)
    Next I
   
End Sub

私人子Command2_Click()

Private Sub Command2_Click()

致电快速排序(A, 0,L - 1)

List1.Clear

For I = 0 To L - 1

  List1.AddItem A(I)

下一页我是
结束子

Call quicksort(A, 0, L - 1)
List1.Clear
For I = 0 To L - 1
  List1.AddItem A(I)
Next I
End Sub

私人功能快速排序(A()As Integer,left As Integer,right As Integer)

Dim pivot As Integer

If(right> left)Then
pivot = partition( A,左,右)

quicksort = quicksort(A,left,pivot - 1)

quicksort = quicksort(A,pivot + 1,right)

结束如果

结束功能

Private Function quicksort(A() As Integer, left As Integer, right As Integer)
Dim pivot As Integer
If (right > left) Then
pivot = partition(A, left, right)
quicksort = quicksort(A, left, pivot - 1)
quicksort = quicksort(A, pivot + 1, right)
End If
End Function

私有功能分区(A()As Integer,left As Integer,right As Integer)As整数

Dim pivot As Integer,J As Integer,temp As Integer

I = left + 1

J =右郎
pivot = A(左)

Do While(J> = I)

  

   Do While(A(I)< pivot)

    我= I + 1

  循环

    

   Do While(A(J)> pivot)

     J = J - 1

  循环

  

  如果(J> I)则为
      temp = A(I)

      A(I)= A(J)

      A(J)= temp

  结束如果是
  

循环

Private Function partition(A() As Integer, left As Integer, right As Integer) As Integer
Dim pivot As Integer, J As Integer, temp As Integer
I = left + 1
J = right
pivot = A(left)
Do While (J >= I)
  
   Do While (A(I) < pivot)
     I = I + 1
   Loop
    
   Do While (A(J) > pivot)
     J = J - 1
   Loop
  
   If (J > I) Then
      temp = A(I)
      A(I) = A(J)
      A(J) = temp
   End If
  
Loop

temp = A(左)
$
A(左)= A(J)
A(J)= temp

partition = J

结束功能

temp = A(left)
A(left) = A(J)
A(J) = temp
partition = J
End Function

谢谢

Thanks

推荐答案


可能
告诉
me
代码问题

might tell me the code problem

Dim A()As Integer

Dim L As Integer

Dim I As整数

Dim A() As Integer
Dim L As Integer
Dim I As Integer

Private Sub Command1_Click()

    Dim I As Integer

    List1.Clear

   

    L = Val(Text1.Text)

    ReDim保留A(L)为整数

   对于I = 0到L - 1

      A(I)= Val(InputBox("输入数字"& I&":""""""")))b $ b      List1.AddItem A(I)

   接下来我是
   

结束次

Private Sub Command1_Click()
    Dim I As Integer
    List1.Clear
   
    L = Val(Text1.Text)
    ReDim Preserve A(L) As Integer
    For I = 0 To L - 1
      A(I) = Val(InputBox("Enter number" & I & ":", "input"))
      List1.AddItem A(I)
    Next I
   
End Sub

私人子Command2_Click()

Private Sub Command2_Click()

致电快速排序(A, 0,L - 1)

List1.Clear

For I = 0 To L - 1

  List1.AddItem A(I)

下一页我是
结束子

Call quicksort(A, 0, L - 1)
List1.Clear
For I = 0 To L - 1
  List1.AddItem A(I)
Next I
End Sub

私人功能快速排序(A()As Integer,left As Integer,right As Integer)

Dim pivot As Integer

If(right> left)Then
pivot = partition( A,左,右)

quicksort = quicksort(A,left,pivot - 1)

quicksort = quicksort(A,pivot + 1,right)

结束如果

结束功能

Private Function quicksort(A() As Integer, left As Integer, right As Integer)
Dim pivot As Integer
If (right > left) Then
pivot = partition(A, left, right)
quicksort = quicksort(A, left, pivot - 1)
quicksort = quicksort(A, pivot + 1, right)
End If
End Function

私有功能分区(A()As Integer,left As Integer,right As Integer)As整数

Dim pivot As Integer,J As Integer,temp As Integer

I = left + 1

J =右郎
pivot = A(左)

Do While(J> = I)

  

   Do While(A(I)< pivot)

    我= I + 1

  循环

    

   Do While(A(J)> pivot)

     J = J - 1

  循环

  

  如果(J> I)则为
      temp = A(I)

      A(I)= A(J)

      A(J)= temp

  结束如果是
  

循环

Private Function partition(A() As Integer, left As Integer, right As Integer) As Integer
Dim pivot As Integer, J As Integer, temp As Integer
I = left + 1
J = right
pivot = A(left)
Do While (J >= I)
  
   Do While (A(I) < pivot)
     I = I + 1
   Loop
    
   Do While (A(J) > pivot)
     J = J - 1
   Loop
  
   If (J > I) Then
      temp = A(I)
      A(I) = A(J)
      A(J) = temp
   End If
  
Loop

temp = A(左)
$
A(左)= A(J)
A(J)= temp

partition = J

结束功能

temp = A(left)
A(left) = A(J)
A(J) = temp
partition = J
End Function

谢谢

Thanks





这篇关于VB6的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆