河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc

河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
河南工业大学实验报告_实验一 线性结构(二)——栈和队列的操作

xxxx大学实验报告 课程名称 数据结构 实验项目 实验一 线性结构(二)——栈和队列的操作 院 系 信息学院计类系 专业班级 计类1501 姓 名 学 号 指导老师 日 期 批改日期 成 绩 一 实验目的 1.熟练掌握栈的存储结构及相关典型操作。 2.熟练掌握队列的存储结构及相关典型操作。 二 实验内容及要求 实验内容: 1.建立链式栈,实现栈的初始化、进栈、出栈等典型操作。 2.建立循环队列,实现队列的初始化、进队、出队等典型操作。 实验要求: 1.键盘输入数据; 2.屏幕输出运行结果。 3.要求记录实验源代码及运行结果。 4.运行环境:VC++6.0 三 实验过程及运行结果 循环队列 #includestdio.h #includestdlib.h #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define MAXQSIZE 100 //最大队列长度 typedef struct { int *base; //初始化的动态分配存储空间 int front; int rear; }SqQueue; //初始化队列 int InitQueue(SqQueue Q) { Q.base=(int*)malloc(MAXQSIZE*sizeof(int)); if (!Q.base)exit(OVERFLOW); //存储分配失败 Q.front=Q.rear=0; return OK; } //入队操作 int EnQueue(SqQueue Q) { int e; if ((Q.rear+1)%MAXQSIZE==Q.front) //判断队满 { printf(队列已满,不能入队\n); return ERROR; } printf(请输入入队元素:); scanf(%d,e); Q.base[Q.rear]=e; //入队 Q.rear =(Q.rear+1)%MAXQSIZE; //队尾指针后移 return OK; } //出队操作 int DeQueue(SqQueue Q) { int e; if(Q.front==Q.rear) //判断队空 { printf(队列已为空\n); return ERROR; } e=Q.base[Q.front]; //队头出队 printf(输出的出队元素为:); printf(%d\n,e); Q.front=(Q.front+1)%MAXQSIZE; //队头下表后移 return OK; } //队列长度 int QueueLength(SqQueue Q) { return((Q.rear-Q.front+MAXQSIZE)%MAXQSIZE); } //队列遍历 int QueueTraverse(SqQueue Q) { printf(遍历结果为:); while (Q.front!=Q.rear) { printf(%d ,Q.base[Q.front]); Q.front=(Q.front+1)%MAXQSIZE; } printf (\n); return OK; } int main() { int n; SqQueue Q; InitQueue(Q); printf(*输入1为入队*\n); printf(*输入2为出队*\n); printf(*输入3为队列长度*\n); printf(*输入4为遍历*\n); printf(*输入0为退出*\n); printf(*****************\n); while(scanf(%d,n),n) { switch(n) { case 1:EnQueue(Q);break; case 2:DeQueue(Q);break; case 3:printf(队列长度为%d\n,QueueLength(Q));break; case 4:QueueTra

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档