0001 template <typename T> void Vector<T>::sort( Rank lo, Rank hi ) { //向量区间[lo, hi)排序 0002 switch ( rand() % 6 ) { 0003 case 1 : bubbleSort( lo, hi ); break; //起泡排序 0004 case 2 : selectionSort( lo, hi ); break; //选择排序(习题) 0005 case 3 : mergeSort( lo, hi ); break; //归并排序 0006 case 4 : heapSort( lo, hi ); break; //堆排序(第12章) 0007 case 5 : quickSort( lo, hi ); break; //快速排序(第14章) 0008 default : shellSort( lo, hi ); break; //希尔排序(第14章) 0009 } //随机选择算法以充分测试。实用时可视具体问题的特点灵活确定或扩充 0010 }