线性表之单链表

傷城~ 2022-05-31 01:59 371阅读 0赞

线性表的链式存储结构

链式存储定义:为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。

SouthEast

链式存储逻辑结构:n个结点链接成一个链式线性表的结构叫做链表,当每个结点中只包含一个指针域时,叫做单链表。

SouthEast 1

链表的基本概念

表头结点:链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息。

数据结点:链表中代表数据元素的结点,包含指向下一个数据元素的指针和数据元素的信息。

尾结点:链表中的最后一个数据结点,其下一元素指针为空,表示无后继。

单链表示例

SouthEast 2

在C语言中可以用结构体来定义链表中的指针域。

链表中的表头结点也可以用结构体实现。

SouthEast 3

SouthEast 4

SouthEast 5

获取第pos个元素操作
1.判断线性表是否合法;
2.判断位置是否合法;
3.由表头开始通过next指针移动pos次后,当前元素的next指针即指向要获取的元素。

SouthEast 6

插入元素到位置pos的算法
1.判断线性表是否合法;
2.判断插入位置是否合法;
3.由表头开始通过next指针移动pos次后,当前元素的next指针即指向要插入的位置;
4.将新元素插入;
5.线性表长度加1;

SouthEast 7

SouthEast 8

删除第pos个元素的算法
1.判断线性表是否合法;
2.判断插入位置是否合法;
3.获取第pos个元素;
4.将第pos个元素从链表中删除;
5.线性表长度减1。

SouthEast 9

SouthEast 10

链式存储结构优点:

1.无需一次性定制链表的容量;

2.插入和删除操作无需移动数据元素。

链式存储结构缺点:

1.数据元素必须保存后继元素的位置信息;

2.获取指定数据的元素操作需要顺序访问之前的元素;

3.单链表的实现严重依赖指针;

4.数据元素中必须包含一个额外的指针域;

5.没有指针的程序设计语言无法实现。

详细代码下载地址:http://download.csdn.net/download/u014754841/10235754

发表评论

表情:
评论列表 (有 0 条评论,371人围观)

还没有评论,来说两句吧...

相关阅读

    相关 线性

    线性表的链式存储结构 链式存储定义:为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息。 ![SouthEas

    相关 线性

    线性链表存储结构的特点:用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的) 数据元素a与其直接后继a+1之间的逻辑关系,对数据元素a来说,除了