美文网首页
C链表(无头节点、有头节点),及链表相关操作

C链表(无头节点、有头节点),及链表相关操作

作者: LPL_d5fc | 来源:发表于2021-04-20 23:26 被阅读0次

一、无头节点链表即操作

1.定义节点

定义节点

其中stu为(struct student)类型,pstu为(struct student*)类型。

2.头插法构造

头插初始化

在这里进行一下参数的注释,后面就不再赘述:

因为前面定义时,其中stu为(struct student)类型,pstu为(struct student*)类型

故pstu *pphead和pstu *pptail二级结构体指针类型(struct student**),因为是无头节点链表,所以在增删操作时,会有更改头、尾指针的需求,而要想在子函数中修改一级指针,就必须要用二级指针来进行接收,及操作。

3.尾插法构造

尾插初始化

4.有序插入构造

有序插入初始化

5.删除节点

删除节点

6.修改节点

这里给结构体新添加一个成员方便修改测试。根据num,修改score。

因为修改节点不需要修改头、尾指针,所以传递一级指针就可以了。

修改节点数据


7.遍历打印

8.测试

二、有头节点链表即操作

1.定义节点

定义节点

注意:只有头插法和尾插法创建链表时要更改头节点指针,需要传递二级指针,其余情况只用一级指针即可。

2.头插法创建链表

头插构造

3.尾插法创建链表

尾插构造

4.按值查找节点

按值查找

5.按序号查找节点(序号从1开始)

按序号查找

6.插入节点(按传入序号),序号从1开始

插入

7.删除节点(按传入序号),序号从1开始

删除

相关文章

  • C链表(无头节点、有头节点),及链表相关操作

    一、无头节点链表即操作 1.定义节点 其中stu为(struct student)类型,pstu为(struct ...

  • 数据结构——链表

    本文所讲的链表是单链表,链表采用无头链表 科普下:一般链表可以分为有头节点的链表与无头节点的链表 有头节点的链表:...

  • 极客时间数据结构与算法之美笔记7

    链表节点插入 链表节点删除 上述两个链表操作,对于空节点或者最后一个节点场景,会有异常。 带有头节点(哨兵节点)的...

  • 链表(Java)

    链表常见的操作: 1、插入节点(头插、尾插)2、删除节点3、获取链表长度4、逆序打印5、反转链表6、判断链表是否有...

  • 链表的创建(头插法,尾插法)

    尾插法创建链表 头插法创建链表 打印链表 删除节点 按升序创建链表,Head是虚头节点 检索链表,并返回节点指针

  • 链表-链表节点的删除

    场景 1 链表无序,有重复节点,删除链表中值为data的节点。思路:链表的删除分为“头删”和“中间尾删” 头删:头...

  • LinkedList源码剖析

    链表有一个默认的头节点,头节点的类型尾entry(链表节点),entry有三个属性:节点值,前驱指针,后继指针。 ...

  • 求两个链表的交点

    已知链表A的头节点指针headA,链表B的头节点指针headB,两个链表相交,求两链表交点对应的节点。[](Lee...

  • 7:LinkedList练习 单向链表(入门)(文末有项目

    1:单向链表 2:节点 3:无头节点的单向链表代码 4:测试代码 项目连接

  • 单向循环链表及C#的实现

    循环链表 循环链表是指链表的尾节点的Next指针域指向头节点。循环链表判空条件,头节点的后继指向自己。 代码实现 ...

网友评论

      本文标题:C链表(无头节点、有头节点),及链表相关操作

      本文链接:https://www.haomeiwen.com/subject/jbiolltx.html