单链表 两种形式 结构体形式 : 申请新节点太慢 struct List { int data; List *next; } 数组模拟 代码模板 const int N = 1e6 + 10; int e[N], ne[N], head, idx; // 初始化:head存的是头结点下标,用idx分 ...
分类:
其他好文 时间:
2020-06-25 15:24:32
阅读次数:
68
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。——维基百科 链表 如果将链表简单抽象成图片,大概长这样。 是不是跟链子很像?(好吧,不是很像)但是你细品,应该还是能发现链表跟你认识的某位 ...
分类:
其他好文 时间:
2020-05-31 18:13:58
阅读次数:
158
链表及顺序表都属于线性表 顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。 链表:链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连 ...
分类:
其他好文 时间:
2020-05-10 20:47:34
阅读次数:
66
链表:真正的动态数据结构。 1最简单的动态数据结构。2也能帮助更深入的理解引用和指针。具有递归结构性质 数据存储在Node节点中, E存储元素,Next代表下一个元素节点。最后一个元素为NULL。 就像或者车厢之间链接一样 next负责链接。 优点:就是真正的动态,不需要处理固定容量的问题。 缺点: ...
分类:
其他好文 时间:
2020-04-23 20:46:58
阅读次数:
48
链表 1. 找一个链表中倒数第k个结点(假设原链表肯定有多余k个结点) 假设整个链表有x个结点,用两个指针即可找到倒数第k个,示意图如下: 先用一个指针a遍历到第k个 ;然后a、b指针同时开始往后,直到指针a结束,则b在这段时间里走过了x-k个结点,也就是倒数第k个结点 typedef struct ...
分类:
其他好文 时间:
2020-04-19 17:41:42
阅读次数:
81
链表 链表是一个以节点存储的有序列表,每个节点包括data域和next域,data域是用来保存值的,next域是保存下一个节点的地址,根据有无头节点,链表可分为带头节点的链表和不带头节点的链表 单链表 不带头节点的单链表 带头节点的单链表 双链表 分析为什么要双链表 1. 单链表每个节点只保存了后继 ...
分类:
其他好文 时间:
2020-04-09 00:30:20
阅读次数:
61
"LeetCode题解汇总(持续更新,并将逐步迁移到本博客列表中)" 剑指Offer 数据结构 链表 序号 | 题目 | 难度 | | 06 | "从尾到头打印链表" | 简单 18 | "删除链表的节点" | 简单 22 | "链表中倒数第k个节点" | 简单 二叉树 序号 | 题目 | 难度 | ...
分类:
其他好文 时间:
2020-02-20 22:16:17
阅读次数:
161
链表一般分为两种:1)单链表 2)双链表,二者是及其相似的,但双链表有两个指针 1.单链表: //数组模拟链表(快) #include <iostream> #include <cstdio> #include <cstring> #include <string.h> #include <math ...
分类:
其他好文 时间:
2020-02-17 16:04:37
阅读次数:
81
链表是结构体变量与结构体变量链接在一起,怎么链接在一起?通过指针 #include <stdio.h> struct Node{ int data; struct Node* next; }; int main(void) { struct Node node1 = { 1,NULL }; stru ...
分类:
其他好文 时间:
2020-01-27 17:14:06
阅读次数:
44
4-1 什么是链表 线性数据结构 为什么链表很重要? 最简单的动态数据结构 帮助更深入的理解引用(或者指针) 更深入的理解递归 辅助组成其他数据结构 ...
分类:
其他好文 时间:
2020-01-23 18:25:30
阅读次数:
66