本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 [署名 4.0 国际 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/deed.zh) 本文作者: 苏洋 创建时间: 2009年06月10日 统计字数: 653字 阅读时间: 2分钟阅读 本文链接: https://soulteary.com/2009/06/10/vb%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F.html ----- # [VB]冒泡排序 发一段以前写的冒泡排序,FOR Basic ```vb Option Explicit Private Sub Fir_Sort() Dim vArr As Variant, lngIndex As Long, lngMax As Long, lngTmp As Long vArr = Array(1999, 2000, 2008, 2009, 2007, 2006, 2003, 2004, 2005, 2001, 2002) lngMax = UBound(vArr) For lngIndex = 1 To lngMax For lngTmp = lngIndex - 1 To lngMax Fir_SwapB2S CLng(vArr(lngIndex - 1)), CLng(vArr(lngTmp)) Next Next For lngIndex = 0 To lngMax Debug.Print vArr(lngIndex) Next End Sub Private Sub Fir_SwapB2S(lngA As Long, lngB As Long) If lngA < lngB Then Dim lngTmp As Long lngTmp = lngA: lngA = lngB: lngB = lngTmp End If End Sub Private Sub Fir_SwapS2B(lngA As Long, lngB As Long) If lngA > lngB Then Dim lngTmp As Long lngTmp = lngA: lngA = lngB: lngB = lngTmp End If End Sub Private Sub Form_Load() Call Fir_Sort End Sub ```