VBA 冒泡排序程序
时间: 2023-12-12 18:35:14 浏览: 168
以下是VBA实现冒泡排序的程序:
```VBA
Private Sub BubbleSort(arr() As Variant)
Dim i As Long, j As Long
Dim temp As Variant
For i = LBound(arr) To UBound(arr) - 1
For j = LBound(arr) To UBound(arr) - i - 1
If arr(j) > arr(j + 1) Then
temp = arr(j)
arr(j) = arr(j + 1)
arr(j + 1) = temp
End If
Next j
Next i
End Sub
```
这个程序使用了双重循环来实现冒泡排序。第一层循环控制排序的轮数,第二层循环控制每一轮中比较的次数。如果前一个元素比后一个元素大,则交换它们的位置。经过多轮比较和交换,最终实现了数组的排序。
相关问题
vba程序如何将冒泡排序的结果放在文本框内
假设要将冒泡排序的结果放在名为"TextBox1"的文本框内,可以使用以下的VBA代码实现:
```vb
Private Sub bubbleSort(arr() As Integer)
Dim i As Integer, j As Integer, temp As Integer
For i = 0 To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(j) < arr(i) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
TextBox1.Text = Join(arr, ", ")
End Sub
```
在这个代码中,我们定义了一个名为"bubbleSort"的过程,它接受一个整数数组作为参数。在这个过程中,我们使用了双重循环来实现冒泡排序,并将排序后的结果通过"Join"函数转换成一个字符串,然后将其赋值给名为"TextBox1"的文本框的"Text"属性,从而将结果显示在文本框中。
用VBA写一段冒泡程序排序代码
Sub BubbleSort(ByRef arr As Variant)
Dim lngUpper As Long
Dim lngX As Long
Dim lngY As Long
Dim lngTemp As Long
lngUpper = UBound(arr)
For lngX = 0 To lngUpper
For lngY = lngX + 1 To lngUpper
If arr(lngX) > arr(lngY) Then
lngTemp = arr(lngX)
arr(lngX) = arr(lngY)
arr(lngY) = lngTemp
End If
Next lngY
Next lngX
End Sub
阅读全文