此篇接续上一篇第六题中的手搓双链表的内容,上一篇博客链接:第十四届蓝桥杯省赛C++B组题目及解析(二)-优快云博客
这里通过acwing中的模板题进行讲解
首先可以看一下模拟单链表的实现方法
一.数组模拟单链表
一般用于邻接表(n个链表),用于存储图和树
数据结构由值和下一个结点的指针两部分构成
1.值value:用e[N]表示某个点的值
2.指针next:用ne[N]表示某个点的next指针的值
3.头指针head:用head表示指向链表第一个元素的头指针
int head, idx;
int e[N], ne[N];
在实际使用过程中还需要加入一个idx,用来计算当前存入的元素的个数,idx用于给新加入的元素分配新的位置。
链表的函数:
1.初始化
void init()
{
head = -1;
idx = 0;
}
表示头结点指向空(-1),