《数据结构》3 栈与队列
栈和队列
鹏不是这个朋
本 sdut 硕 szu
展开
-
数据结构实验之栈与队列二:一般算术表达式转换成后缀式
Description 对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。 Input 输入一个算术表达式,以‘#’字符作为结束标志。 Output 输出该表达式转换所得到的后缀式。 Sample Input ab+(c-d/e)f# Output abcde/-f+ 在这里插入代码片 ...原创 2020-11-12 23:12:54 · 191 阅读 · 0 评论 -
Special Judge Ⅲ(这道题考的就是出栈序列判定_关键代码不差什么)
Description Q:什么是 Special Judge,Special Judge 的题目有什么不同? A:一个题目可以接受多种正确方案,即有多组解的时候,题目就必须被 Special Judge。Special Judge 程序使用输入数据和一些其他信息来判答你程序的输出,并将判答结果返回。 不抽黑贞与咸鱼有什么区别? 3921 5月3日 FGO(Fate/Grand Order) 赝作活动来袭,MLE 开始了他的玄学抽卡: 他在 n 个小方块上写上数字,并按照先后顺序往上堆,在堆的过程中他会随机原创 2020-10-14 19:52:59 · 326 阅读 · 0 评论 -
数据结构实验之栈与队列十一:refresh的停车场
Description refresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先 进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道, Del 表示停车场中出去了一辆车,Out 表示便道最前面的车辆不再等待,放弃进入停车场)。假设便道内的车辆不超过100000原创 2020-10-14 19:32:21 · 91 阅读 · 0 评论 -
数据结构实验之栈与队列九:行编辑器
Description 一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。 由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效; 如果发现当前键入的行内差错较多或难以补救,则可以键入原创 2020-10-13 21:06:56 · 189 阅读 · 0 评论 -
数据结构实验之栈与队列八:栈的基本操作
Description 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 Input 首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。 对于每组测试数据,第一行输入两个正整数 m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表当前栈的最大长度,n代表本组测试下面要输入的操作数。 而后的 n 行原创 2020-10-13 20:35:58 · 444 阅读 · 0 评论 -
数据结构实验之栈与队列七:出栈序列判定
Description 给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。 例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等。 Input 第一行输入整数n(1<=n<=10000),表示序列的长度。 第二行输入n个整数,表示栈的压入顺序。 第原创 2020-10-13 19:48:42 · 393 阅读 · 0 评论 -
数据结构实验之栈与队列五:下一较大值(一)
Description 对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。 Input 输入有多组,第一行输入t(1<=t<=10),表示输入的组数; 以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。 Output 输出有多组,每组之间输出一个空行(最后一组之后没有); 每组输出按照本序列元素的顺序,依次逐行输出当前元素及其查找结果,两者之间以–原创 2020-10-11 16:38:32 · 81 阅读 · 0 评论 -
数据结构实验之栈与队列四:括号匹配
Description 给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。 Input 输入数据有多组,处理到文件结束。 Output 如果匹配就输出“yes”,不匹配输出“no” Sample Input sin(20+10) {[}] Output yes no #include<bits/stdc++.h> using namespace std; #define intsize 100000 #de原创 2020-10-11 16:08:12 · 84 阅读 · 0 评论 -
数据结构实验之栈与队列三:后缀式求值
Description 对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。 Input 输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。 Output 求该后缀式所对应的算术表达式的值,并输出之。 Sample Input 59684/-3+# Output 57 Hint 基本操作数都是一位正整数! 规则: 从左到右遍历表达式的每个数字和字符,遇到数字就进栈,遇到符号,就将处于栈顶的两个数字出栈,进行运算,运算的结果在进栈,一直到最终获得结果。 #inclu原创 2020-10-11 15:35:50 · 157 阅读 · 0 评论 -
数据结构实验之栈与队列二:一般算术表达式转换成后缀式
Description 对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。 Input 输入一个算术表达式,以‘#’字符作为结束标志。 Output 输出该表达式转换所得到的后缀式。 Sample Input ab+(c-d/e)f# Output abcde/-f+ hit: 中缀表达式转换成后缀表达式规则:从左到右遍历中缀表达式的每个数字和字符若是数字就输出,即成为后缀表达式的一部分;若是符号则判断其与栈顶符号的优先级,是右括号或优先级低于栈顶符号(乘除优先加减)则栈顶元素依次出栈并输出原创 2020-10-11 15:08:23 · 171 阅读 · 0 评论 -
数据结构实验之栈与队列一:进制转换
Description 输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。 Input 第一行输入需要转换的十进制非负整数; 第二行输入 R。 Output 输出转换所得的 R 进制数。 Sample Input 1279 8 Output 2377 #include<bits/stdc++.h> using namespace std; typedef struct { int data[20]; int top; } S原创 2020-10-08 19:28:01 · 148 阅读 · 0 评论