
SDUTACM《数据结构》专题2--栈和队列
SDUTACM《数据结构》专题2--栈和队列
程序员豪仔
一个任何事物,除了编程,都喜欢尝试的程序员,豪仔。
展开
-
L - 离散事件模拟-银行管理
Description现在银行已经很普遍,每个人总会去银行办理业务,一个好的银行是要考虑 平均逗留时间的,即: 在一定时间段内所有办理业务的人员逗留的时间的和/ 总的人数。逗留时间定义为 人员离开的时间减去人员来的时间。银行只有考虑了这一点,我们在办理业务的时候,才不会等太多的时间。为了简化问题,我们认为银行只有一号窗口和二号窗口可以办理业务 ,并且在时间范围是12<=time<=18,即从中午十二点到晚上十八点,输入数据采用分钟即0代表中午12点,60代表下午一点,90代表下午一点半…原创 2022-04-13 11:14:34 · 115 阅读 · 0 评论 -
K - 数据结构实验之栈与队列十一:refresh的停车场
Descriptionrefresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道,Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过10.原创 2022-04-08 21:49:31 · 102 阅读 · 0 评论 -
J - 双向队列
Description 想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LINXX表示一个整数,命令代表左边进队操作;RINX表示右边进队操作;ROUTLOUT表示出队操作;Input第一行包含一个整数M(M<=10000),表示有M个操作;以下M行每行包含一条命令;命令可能不合法,对于不合法的命令,请在输出中处理;Output输...原创 2022-04-08 17:04:02 · 138 阅读 · 0 评论 -
I - 数据结构实验之队列一:排队买饭
Description中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口。问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同,排在前面的人买完饭就走了,有些人挑完饭就排在后面等待付款,还有一些人比较聪明,看到另一个队人比较少,直原创 2022-04-08 11:01:24 · 494 阅读 · 0 评论 -
H - 数据结构实验之栈与队列六:下一较大值(二)
Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找原创 2022-04-07 14:21:41 · 79 阅读 · 0 评论 -
G - 数据结构实验之栈与队列五:下一较大值(一)
Description对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找..原创 2022-04-07 09:36:30 · 68 阅读 · 0 评论 -
F - 数据结构实验之栈与队列二:一般算术表达式转换成后缀式
Description对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。Input输入一个算术表达式,以‘#’字符作为结束标志。Output输出该表达式转换所得到的后缀式。SampleInputa*b+(c-d/e)*f#Outputab*cde/-f*+中缀表达式转后缀表达式:假定有中缀表达式1 + (( 2 + 3)* 4 ) – 5,请将它转化为后缀表达式。方法一:利用表达式树首先将中缀表达式转换为表达式树,然后后序遍历表..原创 2022-04-06 21:46:34 · 236 阅读 · 0 评论 -
E - 传纸条
Description传纸条是一种在课堂上传递信息的老方法,虽然现在手机短信和QQ聊天越来越普及,但是手写的信息会让人感到一种亲切感。对许多学生而言,在学校里传递一些私秘性的信息是一种令人兴奋的打发时光的方式,特别是在一些令人厌烦的课堂上。XX和YY经常在自习课的时候传纸条来传递一些私密性的信息。但是他们的座位相隔比较远,传纸条要通过其他人才能到达对方。在传递过程中,难免会有一些好奇心比较强的同学偷看纸条的内容。所以他们想到了一个办法,对纸条内容进行加密。加密规则很简单:多次在...原创 2022-04-06 20:58:28 · 157 阅读 · 0 评论 -
D - 数据结构实验之栈与队列九:行编辑器
Description一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效;如果发现当前键入的行内差错较多或...原创 2022-04-06 20:13:55 · 194 阅读 · 0 评论 -
C - 数据结构实验之栈与队列八:栈的基本操作
Description堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。Input首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。对于每组测试数据,第一行输入两个正整数m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表当前栈的最大长度,n代表本组测试下面要输入的操作数。而后的...原创 2022-04-06 18:51:08 · 110 阅读 · 0 评论 -
B - 数据结构实验之栈与队列四:括号匹配
Description给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”SampleInputsin(20+10){[}]Outputyesno...原创 2022-04-06 18:11:34 · 159 阅读 · 0 评论 -
A - 数据结构实验之栈与队列一:进制转换
Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。SampleInput12798Output2377#include<stdio.h>#include<string.h>#include<stdlib.h>int main(){原创 2022-04-06 12:10:24 · 118 阅读 · 0 评论