欢迎来到天天文库
浏览记录
ID:8845518
大小:74.00 KB
页数:7页
时间:2018-04-09
《线性表的顺序表示和实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验四线性表的顺序表示和实现学生姓名吴奇专业班级信管1204学号31201403实验成绩指导老师(签名)日期一.实验目的和要求1、掌握线性表的顺序存储结构;2、掌握线性表的动态分配顺序存储结构及基本操作的实现函数;3、进一步熟悉数据结构及算法的程序实现的基本方法。二.实验内容1、编写应用程序,实现可以在顺序表中插入任意给定数据类型数据并求和的功能。要求把顺序表的结构定义与基本操作实现函数存放在头文件SeqList.h中,主函数存放在主文件test2_1.cpp中,在主函数中定义顺序表并通过调用
2、基本操作函数来实现对该顺序表插入若干个整数类型的数据,然后求和输出。要求使用动态存储分配的方式申请数组空间。2、选做:编写函数boolDeleteElem(SeqList&L,intmin,intmax),实现从顺序表中删除其值在给定值min和max之间(min3、器上自己的文件夹下。三.函数的功能说明及算法思路structList{//定义线性表的结构体elemtype*list;intsize;intmaxsize;};voidinitlist(List&L){//初始化线性表LL.maxsize=10;//线性表的最大长度定位10L.list=newelemtype[L.maxsize];//动态申请线性表的储存空间if(L.list==NULL){//判断线性表指向是否为空cout<<"动态分配空间已用完,按任意键退出程序!"<4、性表的初始长度为0}boolinsertlist(List&L,elemtypeitem,intpos){//线性表的元素插入if(L.size==L.maxsize){//判断线性表的储存空间是否满/*L.list=newelemtype[2*L.maxsize];*/intk=sizeof(elemtype);//计算elemtype类型的字符长度L.list=(elemtype*)realloc(L.list,2*L.maxsize*k);//动态申请空间if(L.list==NULL){cout<<"动态可分配的储存空间用完,按任意键退出!5、!"<6、表的长度returnL.size;}intgetlist(List&L,intpos){//获取线性表中位于pos位置的元素if(pos<17、8、pos>L.size){cout<<"输入有误,按任意键退出程序!!"<9、List&L,intmin,intmax){//删除线性表中指定范围的元素intlmin,lmax,i,k;lmin=lmax=L.list[0];for(i=0;ilmax)lmax=L.list[i];}for(i=0;imax10、11、lmax12、13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意14、键退出!!"<
3、器上自己的文件夹下。三.函数的功能说明及算法思路structList{//定义线性表的结构体elemtype*list;intsize;intmaxsize;};voidinitlist(List&L){//初始化线性表LL.maxsize=10;//线性表的最大长度定位10L.list=newelemtype[L.maxsize];//动态申请线性表的储存空间if(L.list==NULL){//判断线性表指向是否为空cout<<"动态分配空间已用完,按任意键退出程序!"<4、性表的初始长度为0}boolinsertlist(List&L,elemtypeitem,intpos){//线性表的元素插入if(L.size==L.maxsize){//判断线性表的储存空间是否满/*L.list=newelemtype[2*L.maxsize];*/intk=sizeof(elemtype);//计算elemtype类型的字符长度L.list=(elemtype*)realloc(L.list,2*L.maxsize*k);//动态申请空间if(L.list==NULL){cout<<"动态可分配的储存空间用完,按任意键退出!5、!"<6、表的长度returnL.size;}intgetlist(List&L,intpos){//获取线性表中位于pos位置的元素if(pos<17、8、pos>L.size){cout<<"输入有误,按任意键退出程序!!"<9、List&L,intmin,intmax){//删除线性表中指定范围的元素intlmin,lmax,i,k;lmin=lmax=L.list[0];for(i=0;ilmax)lmax=L.list[i];}for(i=0;imax10、11、lmax12、13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意14、键退出!!"<
4、性表的初始长度为0}boolinsertlist(List&L,elemtypeitem,intpos){//线性表的元素插入if(L.size==L.maxsize){//判断线性表的储存空间是否满/*L.list=newelemtype[2*L.maxsize];*/intk=sizeof(elemtype);//计算elemtype类型的字符长度L.list=(elemtype*)realloc(L.list,2*L.maxsize*k);//动态申请空间if(L.list==NULL){cout<<"动态可分配的储存空间用完,按任意键退出!
5、!"<6、表的长度returnL.size;}intgetlist(List&L,intpos){//获取线性表中位于pos位置的元素if(pos<17、8、pos>L.size){cout<<"输入有误,按任意键退出程序!!"<9、List&L,intmin,intmax){//删除线性表中指定范围的元素intlmin,lmax,i,k;lmin=lmax=L.list[0];for(i=0;ilmax)lmax=L.list[i];}for(i=0;imax10、11、lmax12、13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意14、键退出!!"<
6、表的长度returnL.size;}intgetlist(List&L,intpos){//获取线性表中位于pos位置的元素if(pos<1
7、
8、pos>L.size){cout<<"输入有误,按任意键退出程序!!"<9、List&L,intmin,intmax){//删除线性表中指定范围的元素intlmin,lmax,i,k;lmin=lmax=L.list[0];for(i=0;ilmax)lmax=L.list[i];}for(i=0;imax10、11、lmax12、13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意14、键退出!!"<
9、List&L,intmin,intmax){//删除线性表中指定范围的元素intlmin,lmax,i,k;lmin=lmax=L.list[0];for(i=0;ilmax)lmax=L.list[i];}for(i=0;imax
10、
11、lmax12、13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意14、键退出!!"<
12、
13、min>max){//判断输入的范围是否有效cout<<"线性表中没有在此范围内的元素或者输入有误,按任意
14、键退出!!"<
此文档下载收益归作者所有