链表(初学)

链表是一种数据结构,其结点在内存中位置随机,通过指针域连接。每个结点包含数据域和指针域,数据域存储实际数据,指针域指向下一个结点。单链表由头指针定义,空表状态可由头指针是否为空或头结点的指针域是否为空来判断。链表的访问需从头指针开始顺序扫描,与顺序表的随机存取不同。

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

  1. n个结点由指针链组成一个链表。链表的结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。

链表的每一个结点有两个区域,分别是数据域和指针域。数据域存储的是当前结点的数据值,而指针域存储的是下一个结点的存储地址。

  1. 单链表是由头指针唯一确定,因此单链表可以用头指针的名字来命名。

  1. 头指针、头结点、首元结点

  1. H表示头指针

  1. 如何表示空表

无头结点时头指针为空时表示空表。有头结点时,当头结点的指针域为空时表示空表。

  1. 头结点的数据域内装的是什么?

头结点的数据域可以为空,也可存放线性表长度等附加信息,此结点不能计入链表长度值。

  1. 链表的特点

访问时只能通过头指针进入链表,并通过每个结点的指针域依次向后顺序扫描其余结点,所以寻找第一个结点和最后一个结点所花费的时间不等。链表是顺序存取,顺序表是随机存取。

  1. 单链表的定义和表示

例如,存储学生学号、姓名、成绩的单链表结点类型定义如下:

方式一:

方式二:

  1. 构造一个空表

#define OK 1

typedef int Status;

  1. 判断链表是否为空

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值