一、实验目的:
1、掌握线性表的基本原理;
2、掌握顺序表的存储结构;
3、掌握顺序表的创建、查找、插入、删除的实现方法;
讲清楚进行本实验后要学到的知识、掌握的数据结构及其定义和表示方法,讲清楚所采用的算法。
学到的知识:
定义顺序表:利用结构体,包含成员实际长度和最大长度
采用的四种算法:
1、创建顺序表。
可用数组指针指示线性表的地址,并用一个变量指示线性表的当前长度,顺序表的初始化操作就是为顺序表分配一个预定义大小的数组空间,并将线性表的当前长度设为0.
2、查找。
从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,反之,直至第一个记录,比值都不等,查找不成功。
3、插入
顺序表位置i和后面的数据全部后移一位,在指定的位置i插入一个数据,长度加1。
原理:从后往前,将前一位数组元素赋值给后一位数组
4、删除
位置i后面数据全部前移一位,覆盖掉位置i的数据,长度减1.
原理:从前往后,将后一位数组元素赋值给前一位,删除元素后,表长-1.
二、实验要求
1、熟悉C++语言编程;
2、熟练使用C++语言实现顺序表的创建、查找、插入、删除
先验条件:
用一段物理地址连续的存储单元依次存储数据元素的线性结构,能通过数据元素物理存储的连续性来反应元素之间逻辑的相邻关系。
先验知识:
线性表的存储结构,在计算机中线性表有两种存储结构分别是顺序存储结构和链式存储结构。
顺序表存储的定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
线性表的第一个数据元素a1的存储位置称为线性表的起始位置和基地址。
计算地址只算一次与处理数据的规模无关数量级是O(1)这种运算叫随机存取。
由于顺序表中的元素要求地址连续依次存放,随机存储类型相同,高级程序设计语言当中可以用一维数组来实现。