云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据结构_实验三_栈和队列及其应用

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/21 20:20:23

}

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;

搜索更多关于: 数据结构_实验三_栈和队列及其应用 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} 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<>select; switch (select){ case 0:break; ca

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com