数据结构实验2.doc

数据结构实验2.doc

ID:56189107

大小:76.50 KB

页数:9页

时间:2020-03-18

数据结构实验2.doc_第1页
数据结构实验2.doc_第2页
数据结构实验2.doc_第3页
数据结构实验2.doc_第4页
数据结构实验2.doc_第5页
资源描述:

《数据结构实验2.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《数据结构》实验报告实验序号:2          实验项目名称:顺序表的操作学  号1207122213姓  名黄少威专业、班软件金融2班实验地点一号实验楼314指导教师谢彦麒实验时间2013/03/05一、实验目的及要求1.熟悉定义线性表的顺序存储类型;;2.使学生熟练掌握单链线性表的基本操作和具体的函数实现。二、实验设备(环境)及要求微型计算机;windows操作系统;MicrosoftVisualStudio6.0集成开发环境。三、实验内容与步骤31.顺序表表示和实现线性表的如下:#include#include#d

2、efineLIST_INIT_SIZE10#defineLISTINCREMENT5#defineERROR1#defineOK0#defineOVERFLOW1typedefintElemType;//给int一个别名ElemTypetypedefintStatus;//给int一个别名Statustypedefstruct{ElemType*elem;intlength;intListSize;}Sqlist;StatusInitList_sq(Sqlist&L)/*initialthelistl*/{L.elem=(ElemType*)malloc(LIS

3、T_INIT_SIZE*sizeof(ElemType));if(!L.elem){printf("无法分配空间!");exit(OVERFLOW);}else{L.length=0;L.ListSize=LIST_INIT_SIZE;printf("Lisalreadyallocated!");returnOK;}}StatusListInsert_Sq(Sqlist&L,inti,ElemTypee){ElemType*q,*p;//声明指针p,qif(i<1

4、

5、i>L.length+1)returnERROR;if(L.length>=L.ListSi

6、ze){ElemType*newbase;newbase=(ElemType*)realloc(L.elem,(L.ListSize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.ListSize+=LISTINCREMENT;}q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}voidmain(){inti;SqlistL;I

7、nitList_sq(L);//初始化Lprintf("初始化成功");for(i=1;i<=10;i++)ListInsert_Sq(L,i,i);//插入元素printf("插入元素成功");printf("输出元素:");for(i=0;i<=9;i++)printf("%d",L.elem[i]);//输出元素}运行以上程序,根据要求完成下列题目:(1,2任选一题,3,4任选一题)1.参考P25页中的例题2.5实现ListDelete_Sq函数,并在主函数中测试;2.参考P26页中的例题2.7实现MergeList_Sq函数,并在主函数中测试

8、;3.参考P24页中的例题2.4实现函数将一个顺序表中从第i个结点开始连续插入k个结点(参数为数组),并在主函数中测试。4.声明Sqlist变量A,B并初始化,设计一个函数Alternate(A,B,C),从A中第1个元素开始,交替地用A和B中元素组成一个新的Sqlist变量C。四、实验结果与数据处理出现的问题:1.重复定义e。2.对length的理解不到位。五、分析与讨论对于上学期所学的还不能完全掌握。指针,数组的概念模糊。解决办法:再看一遍六、教师评语签名:日期:成绩附源程序清单:1#include#include#de

9、fineLIST_INIT_SIZE10#defineLISTINCREMENT5#defineERROR1#defineOK0#defineOVERFLOW1typedefintElemType;//给int一个别名ElemTypetypedefintStatus;//给int一个别名Statustypedefstruct{ElemType*elem;intlength;intListSize;}Sqlist;StatusInitList_sq(Sqlist&L)/*initialthelistl*/{L.elem=(ElemType*)malloc(LIST

10、_INIT_SIZE*s

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。