基本概念
线性表是最常用且简单的一种数据结构,一个线性表是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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。