实验三 队列基本操作

实验三 队列基本操作

ID:47863638

大小:48.00 KB

页数:6页

时间:2019-07-07

实验三 队列基本操作_第1页
实验三 队列基本操作_第2页
实验三 队列基本操作_第3页
实验三 队列基本操作_第4页
实验三 队列基本操作_第5页
资源描述:

《实验三 队列基本操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三队列基本操作一、实验目的掌握队列的基本操作:初始化、判空、判满、入队、出队、取队列首元素等运算。二、实验要求包含有头文件和main函数;1.格式正确,语句采用缩进格式;2.设计子函数实现题目要求的功能;3.编译、连接通过,熟练使用命令键;4.运行结果正确,输入输出有提示,格式美观。三、实验设备、材料和工具1.奔腾2计算机或以上机型2.turboc2,win-tc四、实验内容和步骤实验内容:1.分析程序。2.完成程序编写和补充步骤:3.确定数据的结构;4.利用main函数调用各子函数;5.调试、分析运行结果。五、实验报告要求1.根据实验内容初步设计好程序,并从理论上排除错

2、误;2.针对程序的健壮性准备好测试数据;3.结果分析中如实填写运行后的结果,记录调试过程中产生的重要问题和解决方法。六、根据实验过程填写下面内容1.构建栈头文件,文件名称seqstack.h#defineTRUE1#defineFALSE0#defineStack_Size50#defineStackElementTypechar/*顺序栈*/typedefstruct{StackElementTypeelem[Stack_Size];/*用来存放栈中元素的一维数组*/inttop;/*用来存放栈顶元素的下标,top为-1表示空栈*/}SeqStack;/*初始化*/void

3、InitStack(SeqStack*S){/*构造一个空栈S*/S->top=-1;}/*判栈空*/intIsEmptys(SeqStack*S)/*判断栈S为空栈时返回值为真,反之为假*/{return(S->top==-1?TRUE:FALSE);}/*判栈满*/intIsFull(SeqStack*S)/*判断栈S为满栈时返回值为真,反之为假*/{return(S->top==Stack_Size-1?TRUE:FALSE);}/*入栈*/intPush(SeqStack*S,StackElementTypex){if(S->top==Stack_Size-1)ret

4、urn(FALSE);/*栈已满*/S->top++;S->elem[S->top]=x;return(TRUE);}/*出栈*/intPop(SeqStack*S,StackElementType*x){/*将栈S的栈顶元素弹出,放到x所指的存储空间中*/if(S->top==-1)/*栈为空*/return(FALSE);else{*x=S->elem[S->top];S->top--;/*修改栈顶指针*/return(TRUE);}}/*取栈顶元素。*/intGetTop(SeqStack*S,StackElementType*x){/*将栈S的栈顶元素弹出,放到x所指

5、的存储空间中,但栈顶指针保持不变*/if(S->top==-1)/*栈为空*/return(FALSE);else{*x=S->elem[S->top];return(TRUE);}}2.构建队列头文件,文件名称seqqueue.h#defineTRUE1#defineFALSE0#defineMAXSIZE50/*队列的最大长度*/#defineQueueElementTypechartypedefstruct{QueueElementTypeelement[MAXSIZE];/*队列的元素空间*/intfront;/*头指针指示器*/intrear;/*尾指针指示器*/}

6、SeqQueue;/*初始化操作*/voidInitQueue(SeqQueue*Q){/*将*Q初始化为一个空的循环队列*/Q->front=Q->rear=0;}/*入队操作*/intEnterQueue(SeqQueue*Q,QueueElementTypex){/*将元素x入队*/if((Q->rear+1)%MAXSIZE==Q->front)/*队列已经满了*/return(FALSE);Q->element[Q->rear]=x;Q->rear=(Q->rear+1)%MAXSIZE;/*重新设置队尾指针*/return(TRUE);/*操作成功*/}/*出队操

7、作*/intDeleteQueue(SeqQueue*Q,QueueElementType*x){/*删除队列的队头元素,用x返回其值*/if(Q->front==Q->rear)/*队列为空*/return(FALSE);*x=Q->element[Q->front];Q->front=(Q->front+1)%MAXSIZE;/*重新设置队头指针*/return(TRUE);/*操作成功*/}intGetHead(SeqQueue*Q,QueueElementType*x){/*提取队列的队头元素,

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

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

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