暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据结构-顺序表

初始化 2021-07-18
578

基本概念

线性表是最常用且简单的一种数据结构,一个线性表是n个元素的有限序列


  线性结构:在数据元素的非空有限集合中,有以下几种特点:

01

存在唯一的一个被称作"第一个的元素"

02

存在唯一的一个被称作"最后一个的元素"

03

除第一个以外,集合中的每一个数据元素均只有一个前驱

04

除最后一个以外,集合中的每一个数据元素均只有一个后继


顺序表的特点

01

顺序存储结构是一种随机存取的存储结构

02

无需为表中的元素之间的逻辑关额外的存储空间

03

够快速的获取索引位置上的数据元素信息

04

容易造成存储空间的碎片化


部分函数算法分析


顺序表在指定索引位置插入数据元素

在插入数据前,应先判断插入的位置是否合法。因为顺序表空间是有限的,在插入数据前需要判断顺序表空间是否已满,是否需要扩容


顺序表的第一个数据元素的索引为0,所以在插入的位置索引为(index - 1),找到该位置后,需将插入位置即以后的所有元素都向后移动一位,从最后一个数据元素依次开始移动,直到到达插入位置元素移动,循环终止


顺序表在指定索引位置上删除数据

先判断删除索引位置是否合法,即是否超出顺序表内存在的元素个数长度,是否小于1


找到删除位置的索引后,需将索引位置后的每一个元素都向前移动一个位置,即删除索引位置上的数据信息被后一个覆盖,注意:最后一个元素(L.elem[L.length - 1])仍然存在顺序表内,没有被覆盖,但是顺序表内已存在的元素长度(L.length - 1),所以在遍历的时候不会遍历到该数据元素


线性表的顺序表示和实现


global.h

相关头文件的引用,以及相应全局变量、常量的声明


SqList.h

顺序表的结构定义,以及顺序表的相关操作算法


SqListTest.cpp


运行结果



实用青年




文章转载自初始化,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论