|
本帖最后由 laoau138 于 2017-4-28 09:26 编辑
用VBA把选择排序每一次交换过程输出
假设5个数分别为6,2,7,9,5保存在数组中
用选择排序从大到小重新排序 一共要交换4次 用VBA把这4次交换过程输出
最到得到结果9 7 6 5 2
- Sub aaa()
- Dim arr, i&, j&, mx&, r&, tmp&
- arr = Array(6, 2, 7, 9, 5)
- For i = 0 To UBound(arr) - 1
- For j = i To UBound(arr)
- If mx < arr(j) Then
- mx = arr(j)
- r = j
- End If
- Next j
- mx = 0
- tmp = arr(i)
- arr(i) = arr(r)
- arr(r) = tmp
- Cells(i + 1, 1).Resize(, UBound(arr) + 1) = arr
- Next i
- End Sub
复制代码
|
|