1 / 27
文档名称:

实验二栈和队列(基本操作).doc

格式:doc   大小:90KB   页数:27
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验二栈和队列(基本操作).doc

上传人:小点 2019/4/7 文件大小:90 KB

下载得到文件列表

实验二栈和队列(基本操作).doc

文档介绍

文档介绍:蒀实验二栈和队列蒅1、实验目的:肄熟悉栈的特点(先进后出)及栈的基本操作,如入栈、出栈等,掌握栈的基本操作在栈的顺序存储结构和链式存储结构上的实现;莂熟悉队列的特点(先进先出)及队列的基本操作,如入队、出队等,掌握队列的基本操作在队列的顺序存储结构和链式存储结构上的实现。衿芆2、实验要求:肅复习课本中有关栈和队列的知识;蒁用C语言完成算法和程序设计并上机调试通过;莈撰写实验报告,给出算法思路或流程图和具体实现(源程序)、算法分析结果(包括时间复杂度、空间复杂度以及算法优化设想)、输入数据及程序运行结果(必要时给出多种可能的输入数据和运行结果)。羆膇3、实验内容袃螈[实验1]栈的顺序表示和实现螇羄实验内容与要求:羁编写一个程序实现顺序栈的各种基本运算,并在此基础上设计一个主程序,完成如下功能:蒁(1)初始化顺序栈蒇(2)插入元素羅(3)删除栈顶元素莄(4)取栈顶元素袀(5)遍历顺序栈芇(6)置空顺序栈螃蒂分析:芀栈的顺序存储结构简称为顺序栈,它是运算受限的顺序表。羈对于顺序栈,入栈时,首先判断栈是否为满,栈满的条件为:p->top==MAXNUM-1,栈满时,不能入栈;否则出现空间溢出,引起错误,这种现象称为上溢。袄出栈和读栈顶元素操作,先判栈是否为空,为空时不能操作,否则产生错误。通常栈空作为一种控制转移的条件。薀注意:芅(1)顺序栈中元素用向量存放芄(2)栈底位置是固定不变的,可设置在向量两端的任意一个端点蒂(3)栈顶位置是随着进栈和退栈操作而变化的,用一个整型量top(通常称top为栈顶指针)来指示当前栈顶位置葿蚅参考程序:肅#include<>艿#include<>薇#defineMAXNUM20膄#defineElemTypeint螅/*定义顺序栈的存储结构*/莀typedefstruct羀{ ElemTypestack[MAXNUM];袈 inttop;芁}SqStack;莂/*初始化顺序栈*/肈voidInitStack(SqStack*p)芇{ if(!p)羂 printf("Eorror");腿 p->top=-1;膇}蚆/*入栈*/螂voidPush(SqStack*p,ElemTypex)芀{ if(p->top<MAXNUM-1)蕿 { p->top=p->top+1;肆 p->stack[p->top]=x;蒃 }节 else蚇 printf("Overflow!\n");薅}芃/*出栈*/聿ElemTypePop(SqStack*p)肀{ ElemTypex;羄 if(p->top!=0)羃 { x=p->stack[p->top];膁 printf("以前的栈顶数据元素%d已经被删除!\n",p->stack[p->top]);膈 p->top=p->top-1;蚈 return(x);蚄 }节 else芆 { printf("Underflow!\n");肇 return(0);蒄 }罿}虿/*获取栈顶元素*/蒇ElemTypeGetTop(SqStack*p)膄{ ElemTypex;肁 if(p->top!=0)螇 { x=p->stack[p->top];羆 return(x);羅 }膂 else膀 { printf("Underflow!\n");莅 return(0);蚅 }罿}芈/*遍历顺序栈*/螅voidOutStack(SqStack*p)膂{ inti;羁 printf("\n");莆 if(p->top<0)芄 printf("这是一个空栈!");袂 printf("\n");肂 for(i=p->top;i>=0;i--)蝿 printf("第%d个数据元素是:%6d\n",i,p->stack[i]);羇}蚂/*置空顺序栈*/袀voidsetEmpty(SqStack*p)袇{莇p->top=-1;莃}袁/*主函数*/艿main()螆{SqStack*q;膃 inty,cord;ElemTypea;羂 do{莈 printf("\n");膆 printf("第一次使用必须初始化!\n");袃 printf("\n");螀 printf("\n主菜单\n");螀 printf("\n1初始化顺序栈\n");蚅 printf("\n2插入一个元素\n");蚄 printf("\n3删除栈顶元素\n");螁 printf("\n4取栈顶元素\n");衿 printf("\n5置空顺序栈\n");肄 printf("\n6结束程序运行\n");莄 printf("\n--------------------------------\n");袂 printf("请输入您的选择(1,2,3,4,5,6)");羇 scanf("%d",&cord);螈 pr

最近更新

2025年株洲科技职业学院马克思主义基本原理概.. 12页

蔬果非冷链运输时效管控 60页

2025年永吉县幼儿园教师招教考试备考题库及答.. 31页

2025年江西工业贸易职业技术学院马克思主义基.. 13页

2025年沈阳体育学院马克思主义基本原理概论期.. 12页

2025年河北经贸大学马克思主义基本原理概论期.. 12页

2025年治多县幼儿园教师招教考试备考题库附答.. 30页

2025年洛阳轴承职工大学马克思主义基本原理概.. 13页

2025年淮阳县幼儿园教师招教考试备考题库含答.. 31页

2025年湖南三一工业职业技术学院单招职业技能.. 43页

2025年漯河食品职业学院单招职业技能测试题库.. 44页

2025年炎黄职业技术学院单招职业适应性考试题.. 45页

2026年医学微生物学习题集含完整答案(名校卷.. 41页

2025年石城县幼儿园教师招教考试备考题库带答.. 30页

2025年秦皇岛职业技术学院单招职业技能测试题.. 44页

2025年肃南裕固族自治县招教考试备考题库附答.. 30页

2025年蠡县招教考试备考题库附答案解析(夺冠.. 31页

2025年贵州开放大学马克思主义基本原理概论期.. 12页

2025年郑州智能科技职业学院马克思主义基本原.. 13页

2025年闽清县招教考试备考题库带答案解析(必.. 31页

2026年主管中药师考试备考题100道【网校专用】.. 38页

2026年医学微生物学习题集【考点梳理】 41页

2026年中医住培带教师资理论考核题库100道带答.. 39页

2026年主管中药师考试备考题100道及完整答案【.. 38页

2026年主管中药师考试备考题100道附答案(培优.. 38页

新安全生产法知识竞赛试题库附答案(轻巧夺冠.. 43页

小学历史与文化知识竞赛题库100道附参考答案【.. 37页

新安全生产法知识竞赛试题库含答案【模拟题】.. 44页

最新煤气操作证考试题100道及答案【考点梳理】.. 39页

最新全国政法队伍教育整顿知识竞赛试题库附参.. 40页