数据结构完整版实验报告
的有关信息介绍如下:
(一)实验目的和要求实验目的:熟练掌握线性表的基本操作在顺序存储结构上的实现。实验要求:任选一种高级程序语言编写源程序,并调试通过,测试正确。(二)实验主要内容1. 建立n个元素的顺序表SqList,实现顺序表的基本操作;2. 在SqList的元素i之后插入一个元素,实现顺序表插入的基本操作;3. 在sqList中删除指定位置i上的元素,实现顺序表删除的操作。4. (三)主要仪器设备PC机,Windows XP操作平台,Visual C++(四)实验原理顺序表操作:定义一个顺序表类,该类包括顺序表的存储空间、存储容量和长度,以及构造、插入、删除、遍历等操作的方法(五)实验步骤与调试分析: 顺序表操作:先构造有四个数据的顺序表,在第4个位置插入9,再读取并删除第3个元素。(六)实验结果与分析:顺序表操作:(七)附录(源程序):#includeusing namespace std;const int LIST_INIT_SIZE=10; //顺序表初始长度const int LISTINCREMENT=5; //顺序表长度增值class SqList{ int *L; //定义存储空间起始地址 int length; //顺序表当前长度 int listsize; //顺序表当前存储容量 bool flag; //设立标志值记录操作成败public: SqList(int v1,int v2,int v3,int v4); //构造函数构造并初始化顺序表 void ListInsert(int i,int e); //实现将e插入到顺序表中第i个位置 void ListDelete(int i,int &e); //实现删除顺序表第i个元素 void ListVisit(); //实现顺序表的遍历};SqList::SqList(int v1,int v2,int v3,int v4) //构造并初始化顺序表{ L=new int[LIST_INIT_SIZE]; if(!L) //分配失败 { flag=false; cout<<"ERROR"<length+1) cout<<"ERROR"<=i;t--) *(L+length)=*(L+length-1); *(L+i-1)=e; length++; //插入成功,表长加1 }}void SqList::ListDelete(int i,int &e){ if(i<1||i>length) cout<<"ERROR"<