以下为《《数据结构》实验报告模板》的无排版文字预览,完整内容请下载
《数据结构》实验报告
班号:
姓名:
学号:
设计日期:2020.03.12
上机环境:Windows 10 + devcpp
1.实验题目:实现顺序表的各种基本运算的算法
2.实验项目目的:领会顺序表存储结构和掌握顺序表中的各种基本运算算法设计。
3.实验项目的程序结构(程序中的函数调用关系图):
exp2-1.cpp 文件
SqList.cpp文件
4.实验项目包含的各个文件中的函数的功能描述:
InitList(SqList *&L):初始化顺序表L。
DestroyList(SqList *L):释放顺序表L。
ListEmpty(SqList *L):判断顺序表L是否为空表。
ListLength(SqList *L):返回顺序表L的元素个数。
DispList(SqList *L):输出顺序表L。
GetElem(SqList *L,int i,ElemType &e):获取顺序表L中的第i个元素。
LocateElem(SqList *L,ElemType e):在顺序表L中查找元素e。
ListInsert(SqList *&L,int i,ElemType e):在顺序表L中第i个位置上插入元素e。
ListDelete(SqList *&L,int i,ElemType &e):从顺序表L中删除第i个元素。
5.算法描述或流程图:
6.实验数据和实验结果分析:
实验数据:***-20、101101-21、101102-20、101104-22、
101103-21、101105-22数据
实验结果:
/
结果分析:对输入的函数进行顺序表各种基本运算,例如输出、插入、删除等运算操作。实验中顺序表输出结果正确。
7.实验体会:
了解线性表各种运算函数,熟悉并掌握。
对线性表的运用有了更大的认识。在线性表的基础上增加数据,未成功实现学生信息系统的线性表结构搭建,原因是处理name信息时出错,由于各种原因暂未解决该问题,因此该系统只有学号和年龄
8. 程序清单:
#include
#include
#define MaxSize 50
#include "sqlist.cpp"
int main()
{ SqList *L;
ElemType e;
printf("顺序表的基本运算如下:\n");
printf(" (1)初始化顺序表L\n");
InitList(L);
printf(" (2)依次插入信息\n");
printf("101100-20\n");
printf("101101-21\n");
printf("101102-20\n");
printf("101104-22\n");
printf("101103-21\n");
ListInsert(L,1,101100,20);
ListInsert(L,2,101111,21);
ListInsert(L,3,101102,20);
ListInsert(L,4,101114,22);
ListInsert(L,5,101103,21);
printf(" (3)输出顺序表L:\n");
DispList(L);
printf(" (4)顺序表L长度:%d\n",ListLength(L));
printf(" (5)顺序表L为%s\n",(ListEmpty(L)?"空": 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ue ;
}
//删除第i个元素
bool ListDelete(SqList *&L,int i,ElemType &e1,ElemType &e2){
int j;
if(iL->length )
return false ;
i--;
e1=L->data[i].num ;
e2=L->data[i].age ;
for(j=i;jlength;j++){//从前往后
L->data[j]=L->data[j+1];//当前位置的值变成下一个位置的值
}
L->length--;//顺序表长度减一
return true;
}
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《《数据结构》实验报告模板》的无排版文字预览,完整内容请下载
《数据结构》实验报告模板由用户“a136802107”分享发布,转载请注明出处