|
下面介绍正宗的冒泡算法排序:
- Function f(t) '本方法采用冒泡排序算法可以对任意字符串进行逐个排序,不比限制对象为数值串
- l& = Len(t) '字符串长度l
- ReDim a(1 To l) '定义存放排序结果的数组a
- For i = 1 To l '遍历字符串中每个字符
- a(i) = Mid(t, i, 1) '提取i位置该字符s 写入待排序的数组a
- Next
- Call BubbleSortA(a, 1, l) '调用冒泡排序算法函数过程
- f = Join(a, "") '完成所有值的比较排序 输出合并字符串
- End Function
- Sub BubbleSortA(tr, l&, u&) '上浮冒泡算法
- Dim i&, j&, t$
- For i = l To u - 1 '检查每一个值
- For j = u To i + 1 Step -1 '从底部开始倒序检查到已完成排序的i+1位置
- If tr(j) < tr(j - 1) Then t = tr(j): tr(j) = tr(j - 1): tr(j - 1) = t
- '如当前值较小就向前交换位置完成一对数的排序交换 看上去较小的数会不断冒泡向上浮动
- Next
- Next
- End Sub
复制代码 |
|