实验报告一--链接栈与顺序队列的基本运算

实验报告一--链接栈与顺序队列的基本运算

ID:22613186

大小:132.50 KB

页数:6页

时间:2018-10-30

实验报告一--链接栈与顺序队列的基本运算_第1页
实验报告一--链接栈与顺序队列的基本运算_第2页
实验报告一--链接栈与顺序队列的基本运算_第3页
实验报告一--链接栈与顺序队列的基本运算_第4页
实验报告一--链接栈与顺序队列的基本运算_第5页
资源描述:

《实验报告一--链接栈与顺序队列的基本运算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、课程实验报告题目链接栈与顺序队列的基本运算班级2010信息与计算科学班姓名笑嘻嘻小学号笑嘻嘻完成日期笑嘻嘻小(-)实验要求:编程实现链接栈与顺序队列的基本运算。链接栈:插入元素,删除栈顶元素,读出栈顶元素,判断栈是否为空。顺序队列:队列的插入,队列的删除,读队头元素,判断队列是否为空。实验目的:熟练掌握链接栈,顺序队列的基本运算。链接栈的结点结构与单链表的结点结构完全相同,即,将链接栈组织成单链表形式。注意,链接栈中指针的方向是从栈顶指向栈底。顺序队列是用顺序存储方法存储的队列。分配一片连续的存储空间,存放队列中的表目,并用两个变量分别指向队头和队尾。㈡I.链接栈的基本运算I.1实验代码:#i

2、nclude#include#defineLENsizeof(structnode)^defineNULL0structnode{intinfo;structnode*!ink;};structlinklist{structnodc*T;};//*主函数*//voidmain(){intx;structlinklistL;I,.T=(structnode*)mal1oc(I.EN);L.T二NULL;structlinklistpush(structlinklistL,intx);structlinklistpop(structlinklistL);int

3、top(structlinklistL);intsempty(structlinklistL);/*函数声明*/for(x=10;x<=50;x=x+10)L=push(L,x);/*向栈顶插入五个元素10,20,30,40,50*/printfC'向栈顶插入五个元素后,n);printf(”栈顶元素为%(10”,L.T-〉info);for(x二1;x<=3;x++)L=pop(L);printf(n连续删除链接栈3个元素后,n);printfC栈顶元素为%d。",L.T->info);x=top(L);printf(”读出的栈顶元素为%(1。”,x);if(sempty(L))

4、printf(”调用sempty(L)函数,栈已空。");elseprintf("调用sempty(L)函数,栈不空。");}/*栈的插入函数*/structlinklistpush(structlinklistL,intx){structnode*p;p=(structnode*)malloc(LEN);p->info=x;p->link=L.T;L.T=p;return(L);}/*栈的删除函数*/structlinklistpop(structlinklistL){structnode*p;if(L.T=NULL)printf(’f栈空。’f);else{p二L.T;L.T=

5、L.T-〉link;free(p);}return(L);}/*读出栈顶元素*/inttop(structlinklistL){if(L.T==NULL){printf(n栈空。");return0;}elsereturn(L.T-〉info);}/*判断栈是否为空*/intsempty(structlinklistL){if(L.T==NULL)return(1);elsereturn(0);}1.2实验结果:I.3调试过程及其分析①T始终指向的是栈顶元素,因此,T总是指向新插入的结点。②在进行栈的删除,读栈顶元素,判断栈是否为空运算时,首先要判断栈是否为空。TT.顺序队列的基本运算II

6、.1实验代码:#includettdefinemO20structqueue{intq[mO+l];intf,r;};//*主函数*//intmain(){structqueuequ,*p;intx;p=&qu;qu.f=l;qu.r=l;voidenq(structqueue*p,intx);voiddcq(structqucuc*p);intfront(structqueuequ);intqempty(structqueuequ);/*函数声明氺/for(x:10;x〈=50;x二x+10)enq(p,x);printf('f向顺序队列依次插入5个元素后,n);print

7、f(’f队头元素为%d,队尾元素为%d。",qu.q[qu.f],qu.q[qu.r-1]);for(x=l;x<=3;x++)deq(p);printf(n连续删除顺序队列的3个元素后,n);printf("队头元素为%(1,队尾元素为%d。M,qu.q[qu.f],qu.q[qu.r-1]);x=front(qu);printf(”读出的队头元素为%01。”,x);if(qempt

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

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

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