欢迎来到天天文库
浏览记录
ID:11109714
大小:68.50 KB
页数:5页
时间:2018-07-10
《实验四 线性表的顺序表示和实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、浙江大学城市学院实验报告课程名称数据结构基础实验项目名称实验四线性表的顺序表示和实现学生姓名专业班级学号实验成绩指导老师(签名)日期2014-10-23一.实验目的和要求1、掌握线性表的顺序存储结构;2、掌握线性表的动态分配顺序存储结构及基本操作的实现函数;3、进一步熟悉数据结构及算法的程序实现的基本方法。二.实验内容1、编写应用程序,实现可以在顺序表中插入任意给定数据类型数据并求和的功能。要求把顺序表的结构定义与基本操作实现函数存放在头文件SeqList.h中,主函数存放在主文件test2_1.cpp中,在主函数中定义顺序表并通过调用基本操作函数来实
2、现对该顺序表插入若干个整数类型的数据,然后求和输出。要求使用动态存储分配的方式申请数组空间。2、选做:编写函数boolDeleteElem(SeqList&L,intmin,intmax),实现从顺序表中删除其值在给定值min和max之间(min3、三.函数的功能说明及算法思路//定义线性表类型typedefstructList{ElemType*list;intsize;intMaxSize;}SeqList;voidInitList(SeqList&)//初始化线性表voidClearList(SeqList&L)//清除线性表,使之成为一个空表intLengthList(SeqList&L)//求线性表长度boolEmptyList(SeqList&L)//判断是否为空voidTraverseList(SeqListL)//遍历线性表ElemTypeGetList(SeqListL,intp4、os)//在线性表L中求序号为pos的元素,该元素作为函数值返回boolInsertList(SeqList&L,ElemTypeitem,intpos)//向线性表中按给定条件pos插入一个元素boolDeleteList(SeqList&L,intmin,intmax)//删除其值在给定值min和max之间(min#include#include5、>typedefintElemType;#defineMAXSize10;#include"SeqList.h"voidmain(void){SeqListmyList;inti=1,x,sum=0,n;intmin,max;InitList(myList);printf("请输入若干整数(以-1结束输入):");scanf("%d",&x);while(x!=-1){if(InsertList(myList,x,i)==0){printf("错误!");return;}i++;scanf("%d",&x);}printf("该顺序表为:");Tr6、averseList(myList);n=LengthList(myList);for(i=1;i<=n;i++){x=GetList(myList,i);sum=sum+x;}printf("顺序表的和sum为%d",sum);printf("请分别输入min和max的值:");scanf("%d%d",&min,&max);DeleteList(myList,min,max);ClearList(myList);}SeqList.h:typedefstructList{ElemType*list;intsize;intMaxSize;}SeqL7、ist;voidInitList(SeqList&L){//初始化线性表L.MaxSize=10;L.list=newElemType[L.MaxSize];if(L.list==NULL){cout<<"动态可分配的存储空间用完,退出运行!"<8、){//求线性表长度returnL.size;}boolEmptyList(SeqList&L
3、三.函数的功能说明及算法思路//定义线性表类型typedefstructList{ElemType*list;intsize;intMaxSize;}SeqList;voidInitList(SeqList&)//初始化线性表voidClearList(SeqList&L)//清除线性表,使之成为一个空表intLengthList(SeqList&L)//求线性表长度boolEmptyList(SeqList&L)//判断是否为空voidTraverseList(SeqListL)//遍历线性表ElemTypeGetList(SeqListL,intp
4、os)//在线性表L中求序号为pos的元素,该元素作为函数值返回boolInsertList(SeqList&L,ElemTypeitem,intpos)//向线性表中按给定条件pos插入一个元素boolDeleteList(SeqList&L,intmin,intmax)//删除其值在给定值min和max之间(min#include#include5、>typedefintElemType;#defineMAXSize10;#include"SeqList.h"voidmain(void){SeqListmyList;inti=1,x,sum=0,n;intmin,max;InitList(myList);printf("请输入若干整数(以-1结束输入):");scanf("%d",&x);while(x!=-1){if(InsertList(myList,x,i)==0){printf("错误!");return;}i++;scanf("%d",&x);}printf("该顺序表为:");Tr6、averseList(myList);n=LengthList(myList);for(i=1;i<=n;i++){x=GetList(myList,i);sum=sum+x;}printf("顺序表的和sum为%d",sum);printf("请分别输入min和max的值:");scanf("%d%d",&min,&max);DeleteList(myList,min,max);ClearList(myList);}SeqList.h:typedefstructList{ElemType*list;intsize;intMaxSize;}SeqL7、ist;voidInitList(SeqList&L){//初始化线性表L.MaxSize=10;L.list=newElemType[L.MaxSize];if(L.list==NULL){cout<<"动态可分配的存储空间用完,退出运行!"<8、){//求线性表长度returnL.size;}boolEmptyList(SeqList&L
5、>typedefintElemType;#defineMAXSize10;#include"SeqList.h"voidmain(void){SeqListmyList;inti=1,x,sum=0,n;intmin,max;InitList(myList);printf("请输入若干整数(以-1结束输入):");scanf("%d",&x);while(x!=-1){if(InsertList(myList,x,i)==0){printf("错误!");return;}i++;scanf("%d",&x);}printf("该顺序表为:");Tr
6、averseList(myList);n=LengthList(myList);for(i=1;i<=n;i++){x=GetList(myList,i);sum=sum+x;}printf("顺序表的和sum为%d",sum);printf("请分别输入min和max的值:");scanf("%d%d",&min,&max);DeleteList(myList,min,max);ClearList(myList);}SeqList.h:typedefstructList{ElemType*list;intsize;intMaxSize;}SeqL
7、ist;voidInitList(SeqList&L){//初始化线性表L.MaxSize=10;L.list=newElemType[L.MaxSize];if(L.list==NULL){cout<<"动态可分配的存储空间用完,退出运行!"<8、){//求线性表长度returnL.size;}boolEmptyList(SeqList&L
8、){//求线性表长度returnL.size;}boolEmptyList(SeqList&L
此文档下载收益归作者所有