选择排序的优点在于它每次选择出最大或者最小的值,将它们进行排序
此选择排序的思想在于选择出最小的节点,创建新链表,将原链表的最小节点删除,继续循环
TYPE* lain(int l, TYPE *head)
{
TYPE *first, *tail, *p_min, *min, *p;
first = NULL;
while (head != NULL) {
for (p = head, min = head; p->next != NULL; p = p->next) {
if (p->next->pstudent.darrScores[l - 1] < min->pstudent.darrScores[l - 1]) {
p_min = p;
min = p->next;
}
}
if (first ==NULL) {
first = min;
tail = min;
}
else
{
tail->next = min;
tail = min;
}
if (min == head) {
head = head->next;
}
else
{
p_min->next = min->next;
}
}
tail->next = NULL;
head = first;
return head;
}