整列アルゴリズムのひとつ。
安定な整列法である。実行時間はO(n^2)である。 配列の先頭から隣通しを比較して逆順であれば交換する。これを交換できなくなるまで続ける。

プログラミング掲示板「ソートロジック大会」なども参照のこと

TypeDef keytype = Integer
Sub bubblesort(n As Integer, a As *keytype)
Dim i As Integer, j As Integer, k As Integer
Dim x As keytype
k = n - 1
While k >= 0
j = -1 '番兵のセット
For i = 1 To k + 1
'隣通しの比較と交換
If a[i - 1] > a[i] Then
j = i - 1
x = a[j]
a[j] = a[i]
a[i] = x
End If
Next i
k = j
Wend
End Sub