《数据结构》上机实验报告-栈与队列基本操作.doc

《数据结构》上机实验报告-栈与队列基本操作.doc

ID:49924970

大小:39.50 KB

页数:4页

时间:2020-03-05

《数据结构》上机实验报告-栈与队列基本操作.doc_第1页
《数据结构》上机实验报告-栈与队列基本操作.doc_第2页
《数据结构》上机实验报告-栈与队列基本操作.doc_第3页
《数据结构》上机实验报告-栈与队列基本操作.doc_第4页
资源描述:

《《数据结构》上机实验报告-栈与队列基本操作.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、福州大学数计学院《数据结构》上机实验报告专业和班级:信息计算科学与应用数学6班学号姓名成绩实验名称栈与队列实验内容栈与队列基本操作实验目的和要求【实验目的】1.掌握栈、队列的思想及其存储实现。2.掌握栈、队列的常见算法的程序实现。【实验内容】1.采用链式存储实现栈的初始化、入栈、出栈操作。2.采用顺序存储实现栈的初始化、入栈、出栈操作。3.采用链式存储实现队列的初始化、入队、出队操作。4.采用顺序存储实现循环队列的初始化、入队、出队操作。【实验要点及说明】1、以上实现算法1、4或算法2、3即可2、顺序栈中的数据元素存储在一个已分配的指定长度的一维数组中。与数组操作不同的是,元素

2、的入栈操作只能在栈顶进行。3、循环队列的数据区是首尾相接的循环结构,要注意循环队列队满和队空的判断条件。问题描述和主要步骤#include#include#include#include#defineOK1#defineERROR0#defineOVERFLOW0#defineMAX20typedefstructStack{//构造链栈chardata;structStack*next;}Stack,*Link;intInits(Link&s){s=(Link)malloc(sizeof(Sta

3、ck));if(!s)return(OVERFLOW);s->next=NULL;returnOK;}intPush(Link&s,chare){//入栈Linkp;p=(Link)malloc(sizeof(Stack));if(!p)returnERROR;p->data=e;p->next=s->next;s->next=p;returnOK;}intPop(Link&s,char&e){//出栈Linkp;p=s->next;e=p->data;s->next=p->next;returnOK;}intcreates(Link&s,intn){inti;chare;co

4、ut<<"输入栈的数据:";for(i=0;i>e;Push(s,e);}returnOK;}intTras(Link&s,intn){Linkp;p=s->next;while(p){cout<data;p=p->next;}returnOK;}typedefstruct{//构造队列char*base;intfront;intrear;}Que;intInitq(Que&q){q.base=(char*)malloc(MAX*sizeof(char));if(!q.base)return(OVERFLOW);q.front=0;q.rear=

5、0;returnOK;}intQlength(Que&q){//求队列长度return((q.rear-q.front+MAX)%MAX);}intEnq(Que&q,chare){//入队if((q.rear+1)%MAX==q.front)returnERROR;q.base[q.rear]=e;q.rear=(q.rear+1)%MAX;returnOK;}intDeq(Que&q,char&e){//出队if(q.front==q.rear)returnERROR;e=q.base[q.front];q.front=(q.front+1)%MAX;returnOK;}i

6、ntcreateq(Que&q,intm){inti;chare;cout<<"输入队列的数据:";for(i=0;i>e;if(!Enq(q,e)){cout<<"队列已满。"<

7、输入栈的数据个数:";cin>>n;creates(s,n);cout<<"遍历栈:";Tras(s,n);cout<>m;createq(q,m);cout<<"遍历队列:";Traq(q);cout<

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

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

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