0001 template <typename T> void List<T>::sort ( ListNodePosi<T> p, Rank n ) { //列表区间排序 0002 switch ( rand() % 4 ) { //随机选取排序算法。可根据具体问题的特点灵活选取或扩充 0003 case 1 : insertionSort( p, n ); break; //插入排序 0004 case 2 : selectionSort( p, n ); break; //选择排序 0005 case 3 : mergeSort( p, n ); break; //归并排序 0006 default : radixSort( p, n ); break; //基数排序 0007 } 0008 }