鍊錶的排序 冒泡

2021-07-03 12:18:05 字數 1237 閱讀 9911

4、已有兩個鍊錶x和y

,每個鍊錶的結點包括學號和成績,要求把兩個鍊錶合併,按學號公升序排列。

#include #include #include using namespace std;

typedef struct list

*plist;

plist list1(plist headx)

else

p->pnext = (plist)malloc(sizeof(list));

p->pnext->num = num;

p->pnext->score = score;

p = p->pnext;

p->pnext = null;

} }return headx;

}plist list2(plist heady)

else

p->pnext = (plist)malloc(sizeof(list));

p->pnext->num = num;

p->pnext->score = score;

p = p->pnext;

p->pnext = null;

} }return heady;

}void query(plist p,plist heady) //查詢到x鍊錶的尾結點,為了與y鍊錶對接

p->pnext = heady; //實現了鍊錶的對接。如果是return p->pnext;然後在main函式中再對其對接是錯誤的,

//因為return返回的是null

}void sort_p(plist headx) // 氣泡排序實現學號的公升序 記住成績也要跟著交換

p = p->pnext;

} }}void out(plist p) //輸出兩個鍊錶

}int main()

或者還可以這樣寫,更簡單

直接把整個區域指標交換

stu sort(stu head)

h=h->next;

p=h->next;

} tail=p;

} return head;

}

建立鍊錶其實更簡單

stu create()

p->next = null;

return h;

}

鍊錶氣泡排序

2011 07 22 21 33 111人閱讀收藏 舉報 任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則...

鍊錶氣泡排序

任意兩個相鄰節點p q位置互換圖示 假設p1 next指向p,那麼顯然p1 next next就指向q,p1 next next next就指向q的後繼節點,我們用p2儲存 p1 next next指標。即 p2 p1 next next,則有 p q 排序前 p1 next p1 next nex...

鍊錶排序 氣泡排序

動態陣列的儲存和排序 需求 c不支援動態陣列,申明的時候,一定要指明動態陣列的大小,不能將陣列的大小設定為未知數,但是很多情況 下,資料量的大小是未知數,或者資料量的大小會隨著問題的變化而變化。解決 使用鍊錶結構來儲存資料 include stdafx.h include stdafx.h incl...