前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈线性表

浅谈线性表

作者头像
哆哆jarvis
发布2022-08-23 14:00:25
2080
发布2022-08-23 14:00:25
举报
文章被收录于专栏:嵌入式进阶之路

halo~大家好,今天来跟大家分享数据结构线性表、栈与队列的区别。

一、线性表

1、什么是线性表

还记得我们小学时放学之前要做什么吗--排队。我记得我总是排在第二位置,前面是那个男孩,后面是另外一个男孩,每次都是他们,为什么要这么做?因为当我看不见他们的时候,老师可以迅速找出谁不在,迅速清点人数。这种排好队的组织方式,就是我们即将学习的数据结构:线性表。

2、线性表(List)的定义

零个或多个数据元素的有限序列。

注意:第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继。

线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。在较复杂的线性表中,一个数据元素可以由若干个数据项组成。

图 1-1

3、线性表的顺序存储结构

线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。如图1-2所示。

图1-2

在C语言中可以用一位数组实现顺序存储结构。

注意区分:“数组的长度”和“线性表的长度”

数组的长度:是存放线性表的存储空间的长度,存储分配后这个大小一般不会改变。

线性表的长度:是线性表中数据元素的个数。

在任意时刻,线性表的长度应小于等于数组的长度。

优点:

①无须为表示表中元素之间的逻辑关系而增加额外的存储空间;

②可以快速地存取表中任一位置的元素;

缺点:

①插入和删除操作需要移动大量的元素;

②当线性表长度变化大时,难以确定存储空间的容量;

③造成存储空间的碎片;

4、线性表的链式存储结构

那么链式存储结构与顺序结构有什么不一样呢?在顺序结构中,除了要存数据元素外的信息,还要存储它的后继元素的存储地址。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域存储的信息称为直接或链。这两部分信息组成数据元素ai的存储映像,称为结点。

图 1-3

我们把链表中第一个结点的存储位置称为头指针,最后一个结点指针为空(NULL)。

头指针与头结点的异同:

5、单链表结构与顺序存储结构的优缺点

好啦~今天的分享到此为此,下期详细介绍几种链表。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆jarvis 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档