本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。
一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。
如有侵权,请留言作删文处理。
课程视频链接:
数据结构与算法基础–第04周10–2.7线性表的应用3–有序表的合并–用链表实现
📚 📌 📝 🔍 ⚠️ 😊 ⭐ 🔗 👋 ❓ 💬 🔹 🔸 🔖 ❗️ 💟 ➔
📚 【Week04】10_有序表的合并(用链表实现)
用 La 或 Lb 的头结点作为 Lc 的头结点都可以,这里用 La 的头结点作为 Lc 的头结点。
【算法描述】
void MergeList L(LinkList &La,LinkList &Lb,LinkList &Lc){
pa=La->next;pb=Lb->next;
// 用 La 的头结点作为 Lc 的头结点
pc=Lc=La;
while( pa && pb){
if(pa->data<=pb->data) {
pc->next=pa; pc=pa; pa=pa->next;
}
else{
pc->next=pb;pc=pb; pb=pb->next;}
}
// 插入剩余段
pc->next=pa? pa;pb;
// 释放 Lb 的头结点
delete Lb;
}