Dim gap As Integer '增量设置为初始值
Dim Array1() As String
Dim i As Integer, j As Integer
Dim temp As Double
Dim length As Integer
length = Len(Text1.Text)
ReDim Array1(length)
Array1() = Split(Text1.Text, ",")
Dim First As Double, Last As Double First = LBound(Array1())
Last = UBound(Array1())
gap = length / 2 '设置增量为length/2
Do While gap > 0
For i = gap + 1 To length
j = i - gap
Do While j > 0
If Val(Array1(j)) > Val(Array1(j + gap)) Then
temp = Array1(j)
Array1(j) = Array1(j + gap)
Array1(j + gap) = temp
j = j - gap
Else: j = 0
End If
Loop
Next i
gap = gap / 2
loop
Dim Array1() As String
Dim i As Integer, j As Integer
Dim temp As Double
Dim length As Integer
length = Len(Text1.Text)
ReDim Array1(length)
Array1() = Split(Text1.Text, ",")
Dim First As Double, Last As Double First = LBound(Array1())
Last = UBound(Array1())
gap = length / 2 '设置增量为length/2
Do While gap > 0
For i = gap + 1 To length
j = i - gap
Do While j > 0
If Val(Array1(j)) > Val(Array1(j + gap)) Then
temp = Array1(j)
Array1(j) = Array1(j + gap)
Array1(j + gap) = temp
j = j - gap
Else: j = 0
End If
Loop
Next i
gap = gap / 2
loop
解决方案 »
- 我用vb编写记事本,如何获取光标位置离richtextbox开头有几个字符
- 在vb中如果两个外接设备同时给程序的一个变量赋值会是什么结果?
- 高手请进,如何用vb的text编写一个小型的纠错指示?
- 【问】如何把图形里的某种颜色围成一个“区域”?
- 在crystal report4.6中怎么进行每页汇总?
- 关于数据访问控制公共模块的开发
- 问一个问题,请高手指教!
- 求助,急!怎样用VB做个PLC仿真系统
- 如何解决An Error occured while registering the file: c:\winnt\system32\msado20.tlb?
- 关于pic平铺的问题
- 请问如何使用VB从内存中读取其他程序的图片呢?
- 一个非常急的问题,请大家帮忙!
If Val(Array1(j)) > Val(Array1(j + gap)) Then
下标越界,但是我得已经是ReDim Array1(length)了,为什么还会越界呢?
那个Array1() = Split(Text1.Text, ",")那里有问题
Array1() = Split(Text1.Text, ",")
====================================================
Array1() = Split(Text1.Text, ",")这句话让“ReDim Array1(length)”做无用功了
Array1的数组大小取决于Text1.Text的内容