采用顺序表、单链表二种存储结构.doc

ID:57216835

大小:100.00 KB

页数:11页

时间:2020-08-06

采用顺序表、单链表二种存储结构.doc_第1页
采用顺序表、单链表二种存储结构.doc_第2页
采用顺序表、单链表二种存储结构.doc_第3页
采用顺序表、单链表二种存储结构.doc_第4页
采用顺序表、单链表二种存储结构.doc_第5页
资源描述:

《采用顺序表、单链表二种存储结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南京信息工程大学数据结构实验(实习)报告实验(实习)名称顺序表、单链表实验(实习)日期2015-10-11得分指导教师顾韵华系计软院专业计科年级2014级班次2姓名一、实验目的1、掌握采用顺序表、单链表二种存储结构实现线性表的归并运算。二、实验内容1、输入两个顺序表A和B的元素值(整数),元素递增有序,编写程序将A和B归并成一个按元素值递增有序的顺序表C。分别输出顺序表A、B和C所有元素的值。2、输入两个单链表A和B的元素值(整数),其表中元素递增有序,编写程序将A和B归并成一个按元素值递增有序的单链表C。分别输出单链表A、B和C所有结点的值。三、数

2、据结构设计和实现1、顺序表数据结构设计和实现#include#include#include#include//常量定义#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineOK1#defineERROR0#defineOVERFLOW-2#defineTrue1#defineFalse0//函数返回值类型定义typedefintStatus;//表节点数据类型定义typedefintElemType;//顺序表类型定义typ

3、edefstruct{ElemType*elem;intlength;intlistsize;}SqList;//顺序表各操作声明StatusInitList_Sq(SqList&L);StatusDetroyList_Sq(SqList&L);StatusClearList_Sq(SqList&L);intListEmpty_Sq(SqListL);intListLength_Sq(SqListL);StatusGetElem_Sq(SqListL,inti,ElemType&e);StatusListInsert_Sq(SqList&L,inti

4、,ElemTypee);StatusListDelete_Sq(SqList&L,inti,ElemType&e);voidPrintList_Sq(SqListL);voidMergeList(SqListLa,SqListLb,SqList&Lc);#include"link.h"#include"iostream.h"StatusInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.l

5、ength=0;L.listsize=LIST_INIT_SIZE;returnOK;}StatusDetroyList_Sq(SqList&L){if(L.elem)free(L.elem);returnOK;}StatusClearList_Sq(SqList&L){if(L.elem){L.length=0;L.listsize=0;}returnOK;}intListEmpty_Sq(SqListL){return(L.length==0);}intListLength_Sq(SqListL){cout<

6、StatusGetElem_Sq(SqListL,inti,ElemType&e){if(i<1

7、

8、i>=L.length)returnERROR;e=L.elem[i-1];returnOK;}StatusListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase,*p,*q;if(i<1

9、

10、i>L.length+1)returnERROR;if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCR

11、EMENT)*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;}StatusListDelete_Sq(SqList&L,inti,ElemType&e){ElemType*p,*q;if(i<1

12、

13、i>L.length)returnERROR;p=&(L

14、.elem[i-1]);e=*p;q=L.elem+L.length-1;for(++p;p

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

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

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

《采用顺序表、单链表二种存储结构.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、南京信息工程大学数据结构实验(实习)报告实验(实习)名称顺序表、单链表实验(实习)日期2015-10-11得分指导教师顾韵华系计软院专业计科年级2014级班次2姓名一、实验目的1、掌握采用顺序表、单链表二种存储结构实现线性表的归并运算。二、实验内容1、输入两个顺序表A和B的元素值(整数),元素递增有序,编写程序将A和B归并成一个按元素值递增有序的顺序表C。分别输出顺序表A、B和C所有元素的值。2、输入两个单链表A和B的元素值(整数),其表中元素递增有序,编写程序将A和B归并成一个按元素值递增有序的单链表C。分别输出单链表A、B和C所有结点的值。三、数

2、据结构设计和实现1、顺序表数据结构设计和实现#include#include#include#include//常量定义#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineOK1#defineERROR0#defineOVERFLOW-2#defineTrue1#defineFalse0//函数返回值类型定义typedefintStatus;//表节点数据类型定义typedefintElemType;//顺序表类型定义typ

3、edefstruct{ElemType*elem;intlength;intlistsize;}SqList;//顺序表各操作声明StatusInitList_Sq(SqList&L);StatusDetroyList_Sq(SqList&L);StatusClearList_Sq(SqList&L);intListEmpty_Sq(SqListL);intListLength_Sq(SqListL);StatusGetElem_Sq(SqListL,inti,ElemType&e);StatusListInsert_Sq(SqList&L,inti

4、,ElemTypee);StatusListDelete_Sq(SqList&L,inti,ElemType&e);voidPrintList_Sq(SqListL);voidMergeList(SqListLa,SqListLb,SqList&Lc);#include"link.h"#include"iostream.h"StatusInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.l

5、ength=0;L.listsize=LIST_INIT_SIZE;returnOK;}StatusDetroyList_Sq(SqList&L){if(L.elem)free(L.elem);returnOK;}StatusClearList_Sq(SqList&L){if(L.elem){L.length=0;L.listsize=0;}returnOK;}intListEmpty_Sq(SqListL){return(L.length==0);}intListLength_Sq(SqListL){cout<

6、StatusGetElem_Sq(SqListL,inti,ElemType&e){if(i<1

7、

8、i>=L.length)returnERROR;e=L.elem[i-1];returnOK;}StatusListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase,*p,*q;if(i<1

9、

10、i>L.length+1)returnERROR;if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCR

11、EMENT)*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;}StatusListDelete_Sq(SqList&L,inti,ElemType&e){ElemType*p,*q;if(i<1

12、

13、i>L.length)returnERROR;p=&(L

14、.elem[i-1]);e=*p;q=L.elem+L.length-1;for(++p;p

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