数据结构实验源代码.doc

数据结构实验源代码.doc

ID:51707241

大小:380.00 KB

页数:33页

时间:2020-03-15

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

《数据结构实验源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构实验报告实验一线性表的建立及基本操作方法实现姓名:吴波学号:20115844班级:计科2011-01设计时间:15/42013ALGO2-1(1)编写一个程序ALGO2-1.CPP,实现顺序表的各种基本运算,并在此基础上设计一个主程序完成如下功能:(1)初始化顺序表L;(2)依次采用尾插法插入a,b,c,d,e(3)输出顺序表L;(4)输出顺序表L长度;(5)判断顺序表L是否为空;(6)判断顺序表L的第3个元素;(7)输出元素‘a’的位置;(8)在第4个元素位置上插入‘f’元素;(9)输出顺序表L;(10)删除L的第3个元素;

2、(11)输出顺序表L;(12)释放顺序表L;源代码#include#include#defineMaxsize10typedefcharElemType;typedefstruct//定义顺序表结构{ElemTypech[Maxsize];intlength;}Sqlist;voidInitlist(Sqlist*&L)//初始化顺序表函数{L=(Sqlist*)malloc(sizeof(Sqlist));L->length=0;}boolListinsert(Sqlist*L,inti,Ele

3、mTypee)//插入元素函数{intj;if(i<1

4、

5、i>L->length+1)returnfalse;i--;//逻辑号与物理内存的转换for(j=L->length;j>i;j--)L->ch[j]=L->ch[j-1];L->ch[i]=e;L->length++;returntrue;}voidDisplist(Sqlist*L)//输出顺序结构函数{inti;for(i=0;i<=L->length;i++)printf("%ct",L->ch[i]);printf("");}intListlength(Sqli

6、st*L)//计算顺序表长度函数{returnL->length;}boolListempty(Sqlist*L)//判空函数{return(L->length==0);}boolGetelem(Sqlist*L,inti,ElemType&e)//从顺序表中取元素函数{if(i<1

7、

8、i>L->length)returnfalse;e=L->ch[i-1];returntrue;}intLocate(Sqlist*&L,ElemType&e)//在顺序表中寻找元素函数{inti=0;while(e!=L->ch[i])i++;if(

9、i>L->length)return0;elsereturni+1;}boolListdelete(Sqlist*&L,inti)//删除元素函数{intj;if(i<1

10、

11、i>L->length)returnfalse;i--;for(j=i;jlength;j++)L->ch[j]=L->ch[j+1];L->length--;returntrue;}voidDestroylist(Sqlist*&L)//销毁线性表函数{free(L);}///////////////////////主函数////////////////

12、////////intmain(void)//主函数!{inti;Sqlist*L;//定义一个顺序结构指针ElemTypee;printf("(1)初始化顺序表L");Initlist(L);//初始化顺序结构printf("(2)依次采用尾插法插入a,b,c,d,e元素");Listinsert(L,1,'a');//Listinsert(L,2,'b');//依次插入元素Listinsert(L,3,'c');//Listinsert(L,4,'d');//Listinsert(L,5,'e');//printf("(3

13、)输出线性表L:tt");Displist(L);printf("(4)顺序表的长度是:t%d",Listlength(L));printf("(5)顺序表是否为空:t%d",Listempty(L));Getelem(L,3,e);//判断第三个元素printf("(6)L中的第三个元素是:t%c",e);e='a';printf("(7)L中'a'的位置是:t%d",Locate(L,e));//输出‘a’在顺序表中的位置printf("(8)在第四各位置插入元素");Listinsert(L,4,

14、'f');//插入元素‘f’;printf("(9)输出线性表L:tt");Displist(L);printf("(10)删除L的第3个元素");Listdelete(L,3);printf("(11)输出线性

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

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

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