【1267删除单链表的倒数第k个节点】【单链表】

本文详细探讨了单链表的两种形式:有头结点和无头结点,强调了头结点在操作中的重要性,并分别阐述了有头结点和无头结点的遍历方式。此外,还讲解了链表问题中的注意事项,包括头结点next指针的初始化、后继结点的判断以及遍历时的指针保存策略。最后,提到了链表的插入和删除操作,特别是删除第一个节点和中间节点的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

单链表一共分为两种情况 

①有头结点的单链表

形式:

头指针head指向头结点,而头结点没有数据域,是一个空结点

头结点的下一个节点才是存放第一个元素的结点

head:指向头结点

head->next:指向第一个元素结点 

②没有头结点的单链表 

形式:

头指针head指向第一个元素结点,head->key就是第一个元素结点的数值

head:指向第一个元素结点

有头结点和没有头结点的区别和影响 

有头结点的单链表更好,没有头结点的单链表会复杂很多,

比如说我们要在单链表的第1个位置插入一个数

我们肯定会用一个while()循环去找到要插入位置的前驱位置

比如要插入第一个位置,我们就要找到0号位置

1.如果有头结点的话,头结点就是能找到的0号位置,直接改变头结点的指针就好 。

2.如果没有头结点的话,如果要插入第一个位置,就是插入在头指针后面,

要单独讨论!!

有头结点的单链表和没有头结点的单链表的遍历:

①有头结点的单链表

需要遍历到头结点(无数据头结点)的情况:比如之前举例的要在i-1号元素后面插入元素
int j=0                                                //计数的j从0开始 

Node *p=L;                                       //此时p已经指向了头结点

while(p)
{

     ......

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值