数据结构实验之栈与队列十一:refresh的停车场
Problem Descriptionrefresh最近发了一笔横财开了一家停车场。由于土地有限停车场内停车数量有限但是要求进停车场的车辆过多。当停车场满时要进入的车辆会进入便道等待最先进入便道的车辆会优先进入停车场而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M以及一些命令Add num 表示车牌号为num的车辆要进入停车场或便道Del 表示停车场中出去了一辆车Out 表示便道最前面的车辆不再等待放弃进入停车场。假设便道内的车辆不超过1000000.Input输入为多组数据每组数据首先输入N和M0 200000接下来输入M条命令。Output输入结束后如果出现停车场内无车辆而出现Del或者便道内无车辆而出现Out,则输出Error,否则输出停车场内的车辆最后进入的最先输出无车辆不输出。Sample Input2 6 Add 18353364208 Add 18353365550 Add 18353365558 Add 18353365559 Del OutSample Output18353365558 18353364208HintSource#includestdio.h #includestdlib.h #includestring.h char a[200005][25] ; //栈 int top ; char b[1000001][25] ; //队列 int top1 ,front ; int main() { int n , m ; int i ; char o[6]; char num[25] ; while(~scanf(%d %d,n,m)){ int flag 1 ; top -1 ; front top1 -1 ; while(m--){ scanf(%s,o) ; if(strcmp(o,Add) 0){ scanf(%s,num) ; if(topn-1){ strcpy(a[top],num) ; } else { if(top1 front ){ front ; top1 ; } strcpy(b[top1],num) ; } } else if(strcmp(o,Del) 0){ if(top-1){ flag 0 ; } else { top-- ; if(top1!front){ strcpy(a[top],b[front]) ; } } } else if(strcmp(o,Out) 0){ if(front top1){ flag 0 ; } else { front ; } } } if(flag){ for(i top ; i0 ; i--){ printf(%s\n,a[i]) ; } } else printf(Error\n) ; } return 0 ; }代码2#includestdio.h #includestring.h #includestdlib.h //定义队列 typedef struct node { char num[100] ; struct node *next ; } NODE; //定义栈 char a[200000][100] ; int top ; int main() { int n, m; int i ; char ch[100] ; char str[100] ; NODE *rear, *front ; //定义队列的头结点和尾结点 int tag ; while(~scanf(%d %d,n,m)) { NODE *head (NODE*)malloc(sizeof(NODE)) ; NODE *p ; head - next NULL ; rear head ; front head ; tag 1 ; top -1 ; while(m--) { scanf(%s,ch) ; if(strcmp(ch,Add) 0 ) { scanf(%s,str) ; if(topn-1) { strcpy(a[top],str) ; } else { p (NODE*)malloc(sizeof(NODE)) ; strcpy(p-num,str) ; rear-next p ; rear p ; } } else if(strcmp(ch,Del) 0) { if(top-1) { tag 0 ; } else { top-- ; if(rear!front) { p front-next ; front-next p-next ; if(p-next NULL) { rear front ; } strcpy(a[top],p-num) ; free(p) ; } } } else { if(front rear) { tag 0 ; } else { p front - next ; front-next p-next ; if(p-next NULL) { rear front ; } free(p) ; } } } if(tag) { for(i top ; i 0 ; i--) { printf(%s\n,a[i]) ; } } else printf(Error\n) ; } return 0 ; }#includestdio.h #includestring.h #includestdlib.h //构建队列 typedef struct node { char num[100] ; struct node *next ; }NODE ; typedef struct { NODE *rear; NODE *front ; }Link ; //构建栈 char a[1000001][100] ; int top ; int main() { int n , m ; int i ; NODE *p ; Link l ; l.front (NODE*)malloc(sizeof(NODE)) ; l.rear l.front ; char num[100] ; char op[10] ; while(~scanf(%d %d,n,m)) { int tag 1 ; top -1 ; while(m--) { scanf(%s,op) ; if(strcmp(op,Add) 0) { scanf(%s,num) ; if(top n-1) { strcpy(a[top],num) ; } else { p (NODE *)malloc(sizeof(NODE)) ; strcpy(p-num,num) ; p-next NULL ; l.rear-next p ; l.rear p ; } } else if(strcmp(op,Del) 0) { if(top0) { top-- ; if(l.frontl.rear) { tag 0 ; } else { strcmp(a[top],l.front-next-num) ; p l.front-next ; l.front-next p ; if(p-next NULL) { l.front l.rear ; } free(p) ; } } } else { if(l.frontl.rear) { tag 0 ; } else { p l.front-next ; l.front-next p ; if(p-next NULL) { l.front l.rear ; } free(p) ; } } } if(tag){ for(itop ; i0 ;i--) { printf(%s\n,a[i]) ; } } else printf(Error\n) ; } return 0 ; }

相关新闻

leetcode练习—— 最大子序和

leetcode练习—— 最大子序和

给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现…

2026/10/27 2:00:43 阅读更多 →
【扇贝】专题词汇分析

【扇贝】专题词汇分析

1.历史文化(1)音乐composition 作曲;作品composer 作曲家sonata 奏鸣曲dynamics (音乐中的)力度变化passage (音乐中的)乐段(2)时尚文化model 模特physique 体型&#xf…

2026/10/22 0:48:36 阅读更多 →
动画资源标准化命名与管理实战指南

动画资源标准化命名与管理实战指南

1. 项目背景解析"dragonballsuper_085-2"这个命名格式明显指向日本经典动漫《龙珠超》的剧集资源。作为东映动画制作的《龙珠》系列正统续作,该动画自2015年播出以来持续引发全球粉丝热潮。这种以"作品名集数"的编号规则,常见于动画…

2026/10/25 6:45:02 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/27 17:33:32 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/27 18:20:50 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 13:55:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 19:19:37 阅读更多 →