selectionSort()
Posi(T) head = p->pred;
Posi(T) tail = p;
for (int i = 0; i < n; i++)
tail = tail->succ;//对列表中起始于位置p的连续n个元素做选择排序。
while (1 < n) {
insertBefore( tail, remove( selectMax (head->succ, n)));
tail = tail->pred;
n--;
}
selectMax()
Posi(T) max = p;
for (Posi(T) cur =p; 1 < n; n--)
if ( !lt(( cur = cur->succ )->data, max->data))
max = cur;
return max;