算法描述
合并链表 和 ,合并后的新表使用头指针 指向
和 分别是链表 和 的工作指针初始化为相应链表的第一个结点
用 的头结点作为 的头结点
)*
!"++
只要存在一个非空表,用 & 指向待摘取的元素
#,&%
表为空,用 & 指向 , 指针后移
"#,&%
表为空,用 & 指向 , 指针后移
"#$&%
取较小者(包括相等) 中的元素,用 & 指向 , 指针后移
"&%
取较小者 中的元素,用 & 指向 , 指针后移
&&
将 & 指向的结点插在 表的表头结点之后
%
"释放 的头结点
%
()已知两个链表 和 分别表示两个集合,其元素递增排列。请设计算法求出
与 的交集,并存放于 链表中。
题目分析
只有同时出现在两集合中的元素才出现在结果表中 合并后的新表使用头指针 指向。
和 分别是链表 和 的工作指针初始化为相应链表的第一个结点,从第一个结
点开始进行比较,当两个链表 和 均为到达表尾结点时,如果两个表中相等的元素时,
摘取 表中的元素,删除 表中的元素;如果其中一个表中的元素较小时,删除此表中
较小的元素,此表的工作指针后移。当链表 和 有一个到达表尾结点,为空时,依次
删除另一个非空表中的所有元素。
算法描述
和 分别是链表 和 的工作指针初始化为相应链表的第一个结点
用 的头结点作为 的头结点
!"
#-交集并入结果表中。
.
评论0
最新资源