遍历文件,如果邻近的两个元素的顺序不对,就将两者交换,重复这样的操作直到整个文件排好序。冒泡排序的执行速度比选择排序和插入排序都要慢。
1 template <class Item>
2 void compexch(Item &A, Item &B)
3 {if (B < A) exch(A, B)}
4
5 template <class Item>
6 void bubble(Item a[], int l, int r)
7 {
8 for (int i = l; i < r; i++)
9 for (int j = r; j > i; j--)
10 compexch(a[j-1], a[j]);
11 }