简易学习指南:单链表的头部添加与尾部添加操作
最编程
2024-08-01 15:44:28
...
【头插法】:
1、头结点指向赋值为空
2、将新节点插入到原头节点之后,首节点之前
3头节点重新指向插入的节点
应用例题:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路:首先创建一个辅助链表,然后取原链表中的元素,使用头插法将其插入到新的辅助链表中去,最后就能得到一个从尾到头的Arraylist.
【尾插法】
1、将插入的节点放在尾指针后面
2、向右移动尾指针
3、数据插完之后ÿ
1、头结点指向赋值为空
2、将新节点插入到原头节点之后,首节点之前
3头节点重新指向插入的节点
应用例题:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
思路:首先创建一个辅助链表,然后取原链表中的元素,使用头插法将其插入到新的辅助链表中去,最后就能得到一个从尾到头的Arraylist.
【尾插法】
1、将插入的节点放在尾指针后面
2、向右移动尾指针
3、数据插完之后ÿ
推荐阅读
-
简易学习指南:单链表的头部添加与尾部添加操作
-
详解单链表的头部插入和尾部添加方法
-
如何在单链表中实现头部添加和尾部添加的操作
-
单链表创建--头部插入法创建带头部节点的单链表,超详细--头部插入法和尾部插入法,这里记录头部插入法创建带头部节点的单链表的具体过程: 以 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