首页 > 其他分享 >静态链表

静态链表

时间:2023-01-05 22:35:36浏览次数:29  
标签:head idx 静态 void 链表 int 节点

以下是链表的相关实现函数

单链表

// head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点
int head, e[N], ne[N], idx;

// 初始化
void init()
{
    head = -1;
    idx = 0;
}

// 在链表头插入一个数a
void insert(int a)
{
    e[idx] = a, ne[idx] = head, head = idx ++ ;
}

// 将头结点删除,需要保证头结点存在
void remove()
{
    head = ne[head];
}

 

双链表

// e[]表示节点的值,l[]表示节点的左指针,r[]表示节点的右指针,idx表示当前用到了哪个节点
int e[N], l[N], r[N], idx;

// 初始化
void init()
{
    //0是左端点,1是右端点
    r[0] = 1, l[1] = 0;
    idx = 2;
}

// 在节点a的右边插入一个数x
void insert(int a, int x)
{
    e[idx] = x;
    l[idx] = a, r[idx] = r[a];
    l[r[a]] = idx, r[a] = idx ++ ;
}

// 删除节点a
void remove(int a)
{
    l[r[a]] = l[a];
    r[l[a]] = r[a];
}

 

  

 

标签:head,idx,静态,void,链表,int,节点
From: https://www.cnblogs.com/yitongtianxia666/p/17029009.html

相关文章

  • python 删除链表倒数第n个节点
    defdelete_k_node(self,head,index):"""删除链表倒数第k个节点:paramhead::paramindex::return:"""......
  • C++实现有序表--链表的合并操作代码
    #include<iostream>#include<cstdlib>usingnamespacestd;#defineMAXSIZE100#defineOK1#defineERROR0typedefintElemtype;typedefintStatus;typedefstructLNo......
  • C++静态类成员变量和成员函数
    头文件calculateBufferSize.h#ifndefCALCULATE_BUFFER_SIZE#defineCALCULATE_BUFFER_SIZE#include<mutex>#include<memory>#include<iostream>#include<glm/g......
  • 静态链接库与动态链接库
    ​​静态链接库​​​​动态链接库​​​​浅谈Windows平台下C++调用静态链接库的方式​​​​lib文件​​​​Windows动态链接库DLL使用​​​​WindowsAPI编程之动态链......
  • 单链表
    单链表typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList1.不带头结点boolInitList(LinkList&L){L=NULL;returntr......
  • Leetcode 重排链表 递归
    https://leetcode.com/problems/reorder-list/solutions/45113/Share-a-consise-recursive-solution-in-C++/https://leetcode.cn/problems/reorder-list/solutions/32910......
  • 基于目标检测和从粗到精静态概率的动态场景视觉SLAM算法CFP-SLAM
    以下内容来自从零开始机器人SLAM知识星球每日更新内容点击领取学习资料→机器人SLAM学习资料大礼包论文#CFP-SLAM:AReal-timeVisualSLAMBasedonCoarse-to-Fin......
  • 动态共享库/静态共享库
    0.前言在学习如何制作静态库和共享库之前,我们来了解GCC编译器的基本工作流程和GCC常用参数的使用。1.GCC基本工作流程现在假设有一个helloworld.c源程序,功能是只打印Hel......
  • Nginx配置访问(预览或者,下载)静态资源
    配置方式:在nginx.conf中加上此配置#搭建文件预览 location^~/preview/{autoindexon;alias/intell/image/;#不同OS键入对应path即可#下列配置用于直接下载......
  • 习题2.5 两个有序链表序列的合并 (15 分)
    本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:ListMerge(ListL1,ListL2);其中List结构定义如下:typedefstructNode......