欢迎来到天天文库
浏览记录
ID:39418613
大小:261.00 KB
页数:33页
时间:2019-07-02
《C++实验一doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一线性表的实验一、实验目的1、掌握用VisualC++6.0上机调试顺序表的基本方法2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现3、掌握用VisualC++6.0上机调试单链表的基本方法4、掌握单链表的插入、删除、查找、求表长以及有序单链表的合并算法的实现5、进一步掌握循环单链表和双链表的插入、删除、查找算法的实现二、实验内容下面是顺序表的部分基本操作实现的算法,请同学们自己设计主函数和部分算法,调用这些算法,完成下面的实验任务。1、顺序表基本操作的实现。要求生成顺序表时,可以键盘上读取元素,用顺序存储结构实现存储。#inclu
2、de"iostream"#include"string"usingnamespacestd;/*常用的符号常量定义*/#defineOK1#defineERROR0#defineMAXSIZE10#defineLIST_INIT_SIZE10#defineLISTINCREMENT10#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineSUCCESS1#defineUNSUCCESS0#defineDUPLICATE-1#defineNULLKEY0//0为无记录标志#defineN10//数据元素个数#d
3、efineEQ(a,b)((a)==(b))#defineLT(a,b)((a)<(b))#defineLQ(a,b)((a)<=(b))/*定义ElemType为int或别的自定义类型*/typedefintElemType;/*顺序存储类型*/typedefstruct{int*elem;intlength;intlistsize;}SqList;/*构造一个空线性表算法*/intInitList_Sq(SqList&L)//InitList_Sq()function{//InititialaSq_ListL.elem=(int*)malloc(LIST_IN
4、IT_SIZE*sizeof(int));if(!L.elem)return(0);L.length=0;L.listsize=LIST_INIT_SIZE;return(1);}//endofInitList_Sq()function/*从顺序表中查找与给定元素值相同的元素在顺序表中的位置*/intLocateElem_Sq(SqListL,ElemTypee)//LocateElem_Sq()sub-function{inti=1;int*p=L.elem;while(i<=L.length&&*p++!=e)++i;if(i<=L.length)return
5、(i);elsereturn(ERROR);}//LocateElem_Sq()end/*向顺序表中插入元素*/intListInsert_sq(SqList&L,inti,inte)//ListInsert_sq(){if(i<1
6、
7、i>L.length+1)//i(location)isillegal{cout<<"Initialfailure!"<=L.listsize)//insertintotheendoftheSqlist{int*Newbase;Newbase=(i
8、nt*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));if(!Newbase){cout<<"Overflow!"<=q;--p)//movetheelement*(p
9、+1)=*p;*q=e;++L.length;return(OK);}//ListInser_sq()end/*从顺序表中删除元素*/voidListDelete_Sq(SqList&L,inti,int&e)//ListDelete_Sq()function{int*p,*q;if((i<1)
10、
11、(i>L.length)){cout<
12、t<<"S
此文档下载收益归作者所有