数据结构

数据结构重学日记(七)线性表的链式存储

2019-01-08  本文已影响1人  南瓜方糖

概念

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

结点中存储数据元素信息的域称为数据域,存储直接后继存储位置的域称为指针域。指针域中存储的信息称为指针

链式存储
n 个结点( 线性链表示例

头指针和头结点

有时候为了操作方便和统一,会给链表增加一个不存放数据的头结点,就像给项链加了一个扣,可以更方便的佩戴和摘取。

头指针始终指向链表的第一个结点。

头结点是带有头结点的链表中的第一个结点。数据域可以不存储任何信息,指针域存放链表中第一个元素的结点存放位置。

头结点的作用:

在顺序表中,想找到第 i 个元素,可以通过 L->data[i] 找到,称为 随机存取方式。而在单链表中,想找到第 i 个元素就必须从头开始,按照顺序一直数到第 i 个元素,称为顺序存取方式。

链式存储的实现:


typedef int ElemType;

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

上一篇 下一篇

猜你喜欢

热点阅读