首页

文章

栈和队列的应用

发布网友 发布时间:2022-04-20 04:51

我来回答

1个回答

热心网友 时间:2022-07-13 00:36

楼主你好
采用循环队列实现你想要的功能(c 语言):
#include<stdio.h>
#include<stdlib.h>
#define MAX 100

typedef struct queue
{
int data[MAX];
int front,rear;
}Sq;

void Initial_Queue(Sq * &q)//初始化队列
{
q=(Sq *)malloc(sizeof(Sq));
q->front=q->rear=0;
}

void In_Queue(Sq * &q,int e)//入队
{
if((q->rear+1)%MAX == q->front)//队满 就终止入队
return;
q->rear=(q->rear+1)%MAX;
q->data[q->rear]=e;
}

void Out_Queue(Sq * &q,int &e)//出队
{
if(q->front == q->rear)//队空 就终止出队
return;
q->front=(q->front+1)%MAX;
e=q->data[q->front];
}

void Print(Sq *q)//打印
{
int i=(q->front + 1)%MAX;
for(;i<=q->rear;i++)//从队首遍历到队尾
printf("%d\n",q->data[i]);
}

void Verse(Sq * &q)//逆置
{
int i=(q->front+1)%MAX,j=q->rear;
while(i<=j)//采用二分法进行逆置
{
int temp=q->data[i];
q->data[i]=q->data[j];
q->data[j]=temp;
i++;
j--;
}
}

int main()
{
Sq *q;
int e;

Initial_Queue(q);//先初始化队列
printf("输入入队序列(空格间隔 回车结束):\n");
do{
scanf("%d",&e);
In_Queue(q,e);//入队
}while(getchar()!='\n');

printf("\n入队序列为:\n");
Print(q);//打印入队序列
Verse(q);//逆置
printf("\n逆置序列为:\n");
Print(q);//打印逆置序列
return 0;
}

希望能帮助你哈
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 C++数据结构 栈和队列的实现和应用 数据结构问题栈与队列的基本操作 四则运算用队列代替栈是否可行?怎么实现?如果不行,... 2.(1)用两个栈实现一个队列.用两个队列实现一个栈。 栈与队列的实现(java) 1.利用队列的基本操作实现栈的逆置 2.利用队列的基... 手机桌面怎么设置什么什么时间 求助高手 关于数据结构栈与队列的实现 时间日期怎么设置显示在手机桌面? 从时间复杂度和空间复杂度的两个方面同时分析一下... 手机桌面的时间怎么设置 用队列和栈实现元素的逆值 利用队列的基本操作,实现栈的逆置,写一算法 怎样用两个队列实现一个栈的功能 如何用数组实现队列和栈 c语言实现队列和栈的方法 如何用一个栈实现队列,如何用一个队列实现栈 Java:如何用两个队列实现栈 如何用队列实现栈 打印机的连接线插在电脑哪里? 怎样用2个栈实现队列(java) 栈和队列数据结构的特点,什么情况下用到栈,什么情... 小米9手机黑屏,按键无反应,充电无反应,放两天,... 线切割是干什么的? 怎么学线切割? 如何正确的安全操作线切割机及故障处理? 线切割机的操作规程 线切割机床的操作规程 线切割机床都有哪些安全操作规程? 如何使用数控线切割机床 线切割机床的操作加工有什么技巧分析? 线切割机床的操作步骤 线切割机的安全操作规程是什么? 线切割如何绕丝图解 线切割机床操作要注意哪些细节 电火花线切割的操作步骤和注意事项 越详细越好 慢走丝线切割机都有哪些安全规范操作事项? 请问,电脑与打印机怎样插线?有几处?拜托帮忙? 打印机的线该插主机的哪个位置 评剧《并非是儿臣以小犯上》的词?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com