数据结构:线性表(2)

118 阅读2分钟

「这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战

简介

昨天给大家介绍了数据结构线性表的知识,今天继续深入的给大家介绍一下有关线性表的知识。

链接表示

通过增加指针来表示元素之间的逻辑关系和后继元素的位置。实现线性表的另一种经常使用的存储结构,不要求逻辑关系上相邻的两个元素在物理位置上也相邻。

单链表表示

单链表表示:

特点:

用一组可以是不连续的存储单元存储线性表的各个元素,为了表示每个元素与其后继元素之间的逻辑关系,每个元素除了需要存储自身的信息外,还要存储一个指示其后继的信息(即后继元素的存储位置)。

每个结点包括两个域:

数据域(info)--存放元素本身的信息

指针域(link)--存放其后继结点的存储位置

在c语言中,可以用以下方式定义节点类型和单链表类型Linklist:

struct Node;
typedef struct Node *PNode;
struct Node{
        DataType info;
        PNode link;
        };
typedef struct Node *LinkList;

(1) 单链表是非随机存取 (2) 通常用头指针来标识一个单链表

如单链表L,头指针为NULL时,表示一个空表
为了操作上的方便,在单链表第一个结点之前附加一个结点,称为头结点
头结点的数据域可以不设任何信息
头结点的指针域指向线性表中的第一个元素结点

头结点与头指针的区别:

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

寄语

本文主要是介绍了有关链表的链接表示以及头结点与头指针的区别,希望可以帮助大家。

往期回顾