1. 程式人生 > >連結串列排序之選擇排序

連結串列排序之選擇排序

選擇排序的優點在於它每次選擇出最大或者最小的值,將它們進行排序
此選擇排序的思想在於選擇出最小的節點,建立新連結串列,將原連結串列的最小節點刪除,繼續迴圈

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; }