数据结构 - 单链表(C语言实现)

一. 链表的定义
  链表是动态分配存储空间的链式存储结构
  其包括一个“头指针”变量,其中第0个结点称为整个链表的头结点,头结点中存放一个地址,该地址指向一个元素,头结点一般不存放具体数据,只是存放第一个结点的地址。
  链表中每一个元素称为“结点”,每个结点都由两部分组成:存放数据元素的数据域和存储直接后继存储位置的指针域。指针域中存储的即是链表的下一个结点存储位置,是一个指针。多个结点链接成一个链表。
  最后一个结点的指针域设置为空(NULL),作为链表的结束标志,表示它没有后继结点。
  使用结构体变量作为链表中的结点,因为结构体变量成员可以是数值类型,字符类型,数组类型,也可以是指针类型,这样就可以使用指针类型成员来存放下一个结点的地址,使其它类型成员存放数据信息。

  当一个序列中只含有指向它的后继结点的链接时,就称该链表为单链表。
  单链表的示意图如下:
            单链表示意图
二. 单链表的表示及实现
  链表和顺序表的最大不同之处就是链表的物理地址不是相邻的。顺序表中采用数组下标的形式(即物理地址的相邻)表示元素的逻辑顺序,而链表是采用指针的方式使不相邻的地址存储逻辑相邻

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值