线性表

线性表是数据结构中最简单的一类逻辑结构。线性表是许多常用数据结构的基础,例如栈、队列。

线性表可以基于两种存储结构:

  • 顺序存储 – 顺序表
  • 链式存储 – 链表

线性表的逻辑特性:除了第一个元素,每个元素有且仅有一个直接前驱;除了最后一个元素,每个元素有且仅有一个直接的后继。
这也是线性表和其他逻辑结构区分开的一个特性。

顺序表

顺序表的实现

顺序表的特点是表中元素的逻辑顺序和其物理顺序是一样的。

顺序表可以静态分配,也可以动态分配。动态分配时,存储空间是在程序执行时通过动态存储分配语句分配的,一旦数据空间占满,就分配一块更大的空间用以替换原来的存储空间

顺序表的主要特点是随机访问

顺序表的存储密度高,每个节点只存储数据元素

链表

由于顺序表的插入、删除需要操作移动大量的元素,影响了运行的效率,所以引入了线性表的链式存储。

链表由一系列不必在内存中相连的结构组成。每一个结构中均含有表元素和指向包括该元素后继元的结构的Next指针。最后一个单元的Next指针指向NULL。ANSI C规定NULL为0.

链表的C实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值