《数据结构》上机实验报告-栈与队列基本操作.doc_第1页
《数据结构》上机实验报告-栈与队列基本操作.doc_第2页
《数据结构》上机实验报告-栈与队列基本操作.doc_第3页
《数据结构》上机实验报告-栈与队列基本操作.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

福州大学数计学院数据结构上机实验报告专业和班级:信息计算科学与应用数学6班学号姓名成绩实验名称栈与队列实验内容栈与队列基本操作实验目的和要求【实验目的】 1掌握栈、队列的思想及其存储实现。2掌握栈、队列的常见算法的程序实现。【实验内容】 1采用链式存储实现栈的初始化、入栈、出栈操作。 2采用顺序存储实现栈的初始化、入栈、出栈操作。 3采用链式存储实现队列的初始化、入队、出队操作。 4采用顺序存储实现循环队列的初始化、入队、出队操作。【实验要点及说明】1、以上实现算法1、4或算法2、3即可2、顺序栈中的数据元素存储在一个已分配的指定长度的一维数组中。与数组操作不同的是,元素的入栈操作只能在栈顶进行。3、循环队列的数据区是首尾相接的循环结构,要注意循环队列队满和队空的判断条件。问题描述和主要步骤#include#include#include#include#define OK 1#define ERROR 0#define OVERFLOW 0#define MAX 20typedef struct Stack/构造链栈char data;struct Stack *next;Stack,*Link;int Inits(Link &s)s=(Link)malloc(sizeof(Stack);if(!s)return(OVERFLOW);s-next=NULL;return OK;int Push(Link &s,char e)/入栈Link p;p=(Link)malloc(sizeof(Stack);if(!p)return ERROR;p-data=e;p-next=s-next;s-next=p;return OK;int Pop(Link &s,char &e)/出栈Link p;p=s-next;e=p-data;s-next=p-next;return OK;int creates(Link &s,int n)int i;char e;cout输入栈的数据:;for(i=0;ie;Push(s,e);return OK;int Tras(Link &s,int n)Link p;p=s-next;while(p)coutdata;p=p-next;return OK;typedef struct/构造队列char *base;int front;int rear;Que;int Initq(Que &q)q.base=(char *)malloc(MAX*sizeof(char);if(!q.base)return(OVERFLOW);q.front=0;q.rear=0;return OK;int Qlength(Que &q)/求队列长度return(q.rear-q.front+MAX)%MAX);int Enq(Que &q,char e)/入队if(q.rear+1)%MAX=q.front)return ERROR;q.baseq.rear=e;q.rear=(q.rear+1)%MAX;return OK;int Deq(Que &q,char &e)/出队if(q.front=q.rear)return ERROR;e=q.baseq.front;q.front=(q.front+1)%MAX;return OK;int createq(Que &q,int m)int i;char e;cout输入队列的数据:;for(i=0;ie;if(!Enq(q,e)cout队列已满。endl;break;return OK;int Traq(Que &q)int i,m;m=Qlength(q);for(i=0;im;i+)cout*(q.base+i);return OK;void main()int m,n,i,l;char e;Link s;Inits(s);Que q;Initq(q);cout1、栈的基本操作endl;coutn;creates(s,n);cout遍历栈:;Tras(s,n);coutendl输出栈顶元素:;Pop(s,e);couteendl;cout遍历栈:;Tras(s,n);coutnendl;cout2、队列的基本操作endl;coutm;createq(q,m);cout遍历队列:;Traq(q);coutendl队列的长度为:Qlength(q);coutendll;cout出队数据:endl;for(i=0;il;i+)cout第i+1个数据:;Deq(q,e);couteendl;cout遍历

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论