02-E

(e) 起泡排序
为了使得向量有序, 要对向量进行排序。

# 排序器, ADT 统一入口:
>* 实现
====================== source code ===========================
template <typename T>
void Vector<T>::sort(Rank lo, Rank hi) {
int i = 1;
switch (i) {
case 1: bubbleSort(lo, hi); break; // 起泡排序
case 2: selectionSort(lo, hi); break; // 选择排序(习题)
case 3: mergeSort(lo, hi); break; // 归并排序
case 4: heapSort(lo, hi); break; // 堆排序(ch 10)
default: quickSort(lo, hi); break; // 快速排序(12)
}
}
=============================================================
----------------------------------------------------------------------------------

# 起泡排序
>* 改进思路
未必要对未确定序列的全序进行扫描, 其中有一部分可能是有序的, 也可能剩余序列完全有序。
在上一趟扫描中, 记录有序对