实验四实现栈和队列的基本运行

实验四实现栈和队列的基本运行

ID:37468598

大小:205.50 KB

页数:23页

时间:2019-05-24

实验四实现栈和队列的基本运行_第1页
实验四实现栈和队列的基本运行_第2页
实验四实现栈和队列的基本运行_第3页
实验四实现栈和队列的基本运行_第4页
实验四实现栈和队列的基本运行_第5页
资源描述:

《实验四实现栈和队列的基本运行》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四实现栈和队列的基本运行 姓名尹亮学号:2009131334班级:09计算机三班  一、实验目的    了解栈和队列的结构特点及有关概念,掌握顺序栈、链栈和循环队列、链队列的各种基本操作算法思想及其实现。 二、实验内容编写一个程序,实现顺序栈、链栈各种基本运算:1、初始化栈;2、判断栈是否为空;  3、进栈操作;                                   4、求栈的长度  5、输出栈中的所有的元素;         6、出栈操作;              7、释放栈

2、编写一个程序,实现循环队列、链队列的各种基本运算:   1、初始化队列;                                   2、判断队列是否为空;   3、进队操作;                                      4、求队列的长度   5、输出队列中的所有的元素;         6、出队操作;               7、释放队列三、实验要点及说明具体程序如下:顺序栈运算:#include#include#d

3、efineN100typedefcharelemtype;typedefstruct{elemtypedata[N];inttop;}sqstack;voidinitstack(sqstack*&s){s=(sqstack*)malloc(sizeof(sqstack));s->top=-1;}voidclearstack(sqstack*&s){free(s);}intstacklength(sqstack*s){return(s->top+1);}intstackempty(sqstack*s

4、){return(s->top==-1);}intpush(sqstack*s,elemtypee){if(s->top==N-1)return0;s->top++;s->data[s->top]=e;return1;}intpop(sqstack*&s,elemtype&e){if(s->top==-1)return0;e=s->data[s->top];s->top--;return1;}intgettop(sqstack*s,elemtype&e){if(s->top==-1)return0

5、;e=s->data[s->top];return1;}voiddispstack(sqstack*s){inti;for(i=s->top;i>=0;i--)printf("%c",s->data[i]);printf("");}voidmain(){elemtypee;sqstack*s;printf("(1)初始化栈s");initstack(s);printf("(2)栈为%s",(stackempty(s)?"空":"非空"));printf("(3)依次进栈元素a,b,c,

6、d,e");push(s,'a');push(s,'b');push(s,'c');push(s,'d');push(s,'e');printf("(4)栈为%s",(stackempty(s)?"空":"非空"));printf("(5)栈长度:%d",stacklength(s));printf("(6)栈中所有的元素:");dispstack(s);printf("(7)出栈的序列:");while(!stackempty(s)){pop(s,e);printf("%c",e

7、);}printf("");printf("(8)栈为%s",(stackempty(s)?"空":"非空"));printf("(9)释放栈");clearstack(s);}测试:链表:#include#includetypedefcharelemtype;typedefstructlinknode{elemtypedata;structlinknode*next;}listack;voidinitstack(listack*&s){s=(li

8、stack*)malloc(sizeof(listack));s->next=NULL;}voidclearstack(listack*s){listack*p=s->next;while(p!=NULL){free(s);s=p;p=p->next;}}intstacklength(listack*s){inti=0;listack*p;p=s->next;while(p!=NULL){i++;p=p->next;}returni;}intstackempty(listack*s

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

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

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