【数据结构】线性表的链式存储-单链表

单链表的定义

线性表的链式存储又称为单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素。 为了建立起数据元素之间的线性关系,对每个链表结点,除了存放元素自身的信息之外,还需要存放一个指向其后继的指针

每个结点包括数据域和指针域。节点是一个结构体,看一下结构体的定义:

typedef struct LNode{
        ElemType data;
        struct LNode *next;
}LNode,*LinkList;

注意这是节点而不是整个单链表。
节点的第一个部分是数据域data。
第二个部分是指针next,指向的类型是节点的类型,表示指向下一个节点。
节点的名字取为LNode。
结构体的指针类型记作LinkList。

那么如何表示一个单链表呢?

单链表的两种建表方法

在这里插入图片描述

头结点和头指针的区别?

不管带不带头结点,头指针始终指向链表的第一个结点,而头结点是带头结点链表中的第一个结点,结点内通常不存储信息。

为什么要设置头结点?

  1. 处理操作起来方便 例如:对在第一元素结点前插入结点和删除第一结点起操作与其它结点的操作就统一了
  2. 无论链表是否为空,其头指针是指向头结点的非空指针,因此空表和非空表的处理也就统一了。

如何建立单链表?按照插入位置分为两种方式:

1.头插法建立单链表:

建立新的节点分配内存空间,将新节点插入到当前链表的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值