第一范文网 - 专业文章范例文档资料分享平台

数据结构_实验三_栈和队列及其应用

来源:用户分享 时间:2025/5/24 20:09:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

}

Q、front->next=p->next;

if (Q、rear==p) Q、rear=Q、front; free(p); return OK;

Status QueueEmpty(LinkQueue Q){ }

void Menu(LinkQueue &Q){

//输出选择界面 int select=1; QElemType e; while(select){

cout<<\cout<<\请选择以下功能:\cout<<\入队\cout<<\出队\cout<<\判断队空\cout<<\退出程序\cout<<\请输入您得选择\cin>>select; switch (select){ case 0:break; case 1:

cout<<\输入入队数据\cin>>e;

if(EnQueue(Q,e)){

cout<<\入队成功\

//判断对就是否为空

if(Q、front==Q、rear)return ERROR; return OK;

}

}

} break;

case 2:

if(DeQueue(Q,e)){ } break;

cout<

case 3: }

if(QueueEmpty(Q)) cout<<\此队不为空\else cout<<\此队为空\break;

//QNode、h

#ifndef QNODE_H #define QNODE_H #include #include using namespace std; const int OK=1; const int ERROR=0; typedef int QElemType; typedef int Status; typedef struct QNode{

QElemType data; struct QNode * next;

}QNode,*QueuePrt; typedef struct {

QueuePrt front;

QueuePrt rear;

}LinkQueue;

Status InitQueue(LinkQueue &Q);//构造空队列 Status DestroyQueue(LinkQueue &Q);//销毁队列Q

Status EnQueue (LinkQueue &Q,QElemType e);//插入元素a为Q得新得队尾元素 Status DeQueue (LinkQueue &Q,QElemType &e);//删除Q得队头元素,用e返回其值 Status QueueEmpty(LinkQueue Q);//判断对就是否为空 void Menu(LinkQueue &Q);//输出选择界面 #endif

? 运行结果:

B顺序存储:

? 代码部分: //main、cpp:

#include\、h\int main(){ SqQueue Q; if(InitQueue(Q)){ cout<<\创建队成功\ Menu(Q);

DestroyQueue(Q); } return 0; }

//SqQueue、cpp:

#include\、h\

Status InitQueue(SqQueue &Q){ }

Status EnQueue(SqQueue &Q,QElemType e){ }

Status DeQueue(SqQueue &Q,QElemType &e){ }

Status SqQueueEmpty(SqQueue Q){ }

Status DestroyQueue(SqQueue &Q){

//销毁栈

Q、front=Q、rear=0; free(Q、base); //判断Q就是否为空

if(Q、front==Q、rear) return ERROR; return OK;

//删除Q得对头元素,用e返回其值。 if(Q、front == Q、rear) return ERROR; e=Q、base[Q、front];

Q、front=(Q、front+1)%MAXSIZE; return OK;

//插入元素e为Q得新队尾元素

if(((Q、rear+1)% MAXSIZE) == Q、front) return ERROR; Q、base[Q、rear]=e;

Q、rear=(Q、rear+1)%MAXSIZE; return OK; //创建空队列

Q、base=(QElemType *)malloc(MAXSIZE * sizeof(QElemType)); if (!Q、base) exit(ERROR); Q、front=Q、rear=0; return OK;

搜索更多关于: 数据结构_实验三_栈和队列及其应用 的文档
数据结构_实验三_栈和队列及其应用.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1foa9704kc9sc9l3ppnv1xep036fj70199z_5.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top