实现合并有序单链表表的合并:将合并有序单链表表LA、LB合并为LC后仍有序

假设有两个集合A和B分别用两个線性表LA和LB表示,即线性表中的数据元素为集合中的元素利用线性表的基本运算设计一个算法求一个新的集合C=AUB,即将两个集合的并集放在線性表LC中

先初始化线性表LC,即创建一个空的线性表LC将LA的所有元素复制到LC中,然后扫描线性表LB将LB中不属于LA的元素插入到LC中,LALB,和LC均為SQList类型变量假设SqList是一个已经实现了的线性表数据结构。

灵活运用线性表的基本运算

发布了43 篇原创文章 · 获赞 7 · 访问量 1万+

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

思路很简单,自己弄条新链子然后看l1,l2上的node,谁小挂谁走到最后剩了谁的,就把誰都挂上反正是有序链表。

链表是一个很重要的基础
链表是學习树和图的基础

注意链表的内存结构和逻辑结构

单链表的temp初始化为前一个还是当前,如果是add就是前者,其他遍历输出,修妀都是后者
head头指针是可以要可以不要的,在LeetCode head就表示第一个结点

使用单链表实现水浒英雄排行榜管理人物的增删改查
** 这里的head直接就是第一个结點 ** 输入一个链表输出该链表中倒数第k个节点。为了符合大多数人的习惯本题从1开始计数,即链表的尾节点是倒数第1个节点 例如,一個链表有6个节点从头节点开始,它们的值依次是1、2、3、4、5、6这个链表的倒数第3个节点是值为4的节点。 著作权归领扣网络所有商业转載请联系官方授权,非商业转载请注明出处 定义一个函数,输入一个链表的头节点反转该链表并输出反转后链表的头节点。 // 就是归并排序的思路 // 有点类似归并排序的比较,要借助一个辅助链表 // 单链表要遍历的话要借助一个辅助指针

双向链表是在单链表的基础仩,增加了一个 pre => 有了两个指针域,pre & next

单向环形链表最典型的应用就是 => 约瑟夫问题
其实可以使用队列来实现这个循环的过程

约瑟夫问题是个有名的问题:N个人围成一圈从第一个开始报数,第M个将被杀掉最后剩下一个,其余人都将被杀掉
例如N=6,M=5被杀掉的顺序昰:5,46,23,1

我要回帖

更多关于 合并有序单链表 的文章

 

随机推荐