分析线性表(链表)头部插入法和尾部插入法的区别和优缺点--尾部插入法:
最编程
2024-06-11 13:00:49
...
- 插入速度慢(需要遍历旧链表到最后一个元素)
- 头结点永远固定不变
- 遍历时是按照插入相同的顺序进行
另外除此之外,也有人从业务角度讨论过两种的区别
现在很多网站或者系统都有一个“最近使用”之类的功能,这种可以考虑用头插法实现
当你使用一个功能的时候,就使用头插法插入一个,查看最近使用的时候直接遍历线性表,即可得到按照最近使用排好序的内容
推荐阅读
-
单链表创建--头部插入法创建带头部节点的单链表,超详细--头部插入法和尾部插入法,这里记录头部插入法创建带头部节点的单链表的具体过程: 以 C 语言为例。 1)首先使用 typedef 关键字定义节点数据类型 1 typedef struct LNode{ 2 int var; // 以整数数据为例 3 struct LNode* next; // 需要定义一个 LNode 结构指针,即指向后继节点的节点指针 4 }LNode, *LinkList. 第 4 行中的 LNode 和 *LinkList 是可选的,但如果有了它们,以后再定义节点和指针变量会更方便,而且不必在 LNode 前面添加 struct 关键字,而是可以直接这样定义变量。 LNode l1, l2; // 定义节点变量。 LinkList p1, p2; // 定义指针变量。 与上述 typedef 关键字定义的单一链表数据类型的方法相同: struct LNode{ struct LNode* next; //定义指针变量 struct LNode* next; } } 如果使用这种方法定义链表节点的类型,则在定义节点变量和指针变量时,必须在 LNode 前面加上 struct 关键字,即 struct LNode l1, l2; // 定义节点变量 struct LNode *p1, *p2; //define pointer variables. 这两种方法的效果是一样的,都是定义一个包含整数变量数据字段和后续指针字段的单一链表节点类型。 (2)通过表头插入的函数构建一个链表,并返回 LinkList 类型表头指针变量 L。 算法的基本思想:一个有头节点的单链表有两类节点,头节点和元素节点,头节点通常不存储数据,用 L 表示,元素节点存储数据,用 s 表示。 2.1 定义头节点指针变量 L 和元素节点 s
-
分析线性表(链表)头部插入法和尾部插入法的区别和优缺点--尾部插入法:
-
单链表头部插入法和尾部插入法详解与实现(C 语言) - 用头部插入法建立单链表
-
头部插入法和尾部插入法的 GO 单链表
-
hashmap头部插入法和尾部插入法的区别_一个跟面试官扯了半小时的HashMap(看这一篇就够了)