单链表、静态链表、循环链表、双向链表

一、单链表
单链表的插入与删除:
假设我们有个节点ai,指向他的指针为p,有个节点为e,指向他的指针为s
①插入:想要把e插入到ai的后面,只需要把s的next指向p的next,再把p的next指向e就可以了
②删除:想要删除ai+1节点,只需要把p的next指针指向p的next的next就可以了
二、静态链表
就是用数组来描述的链表就叫做静态链表。用游标来代替指针,通常第一个和最后一个元素是不存放数据的,数组的第一个元素的cur是用来存放备用链表的第一个节点的下标,而最后一个元素的cur(游标)是用来存放第一个插入元素的下标,相当于头结点。
静态链表的插入与删除:
①插入:
其实就是更改游标指向的下一个节点,比如:原来有abc三个元素,他们的cur分别是2,3,4(4是最后一个节点也就是带插入元素的头结点),我们要插入一个元素d(d此时的位置就是4),想把它插入到ab中间,只需要把a的cur从2改成4,在吧d的cur改成原来a的cur所指的2,即可达到不移动元素就可以插入一个元素。
②删除:
在静态链表中想要删除一个节点,只需要把这个节点标记为备用链表的第一个节点就可以了
三、循环链表
循环链表就是把左后一个节点的指向null的指针指向头结点就得到一个循环链表
四、双向链表
双向链表就是在单链表的每一个节点中再设置一个指向其前驱节点的指针。
双向链表的插入与删除:
假设我们有个节点ai,指向他的指针为p,有个节点为e,指向他的指针为s
①插入:分四步:<1>先把s 的前驱节点指向p
<2>再把s的后继指向p的后继
<3>在把p的后继的前驱指向s
<4>最后把p的后继指向s
②删除:想要删除ai节点,只需要把p的前驱的后继指向p的后继,再把p后继的前驱指向p的前驱即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值