《数据结构与算法》实践能力专题训练3 栈与队列
《数据结构与算法》实践能力专题训练3 栈与队列-题解
whale .
这个作者很懒,什么都没留下…
展开
-
数据结构实验之栈与队列十:走迷宫
数据结构实验之栈与队列十:走迷宫Description一个由n * m 个格子组成的迷宫,起点是(1, 1), 终点是(n, m),每次可以向上下左右四个方向任意走一步,并且有些格子是不能走动,求从起点到终点经过每个格子至多一次的走法数。Input第一行一个整数T 表示有T 组测试数据。(T <= 110)对于每组测试数据:第一行两个整数n, m,表示迷宫有n * m 个格子。(1 <= n, m <= 6, (n, m) !=(1, 1) ) 接下来n 行,每行m 个数。其中原创 2020-10-18 14:45:29 · 288 阅读 · 0 评论 -
数据结构实验之栈与队列九:行编辑器
数据结构实验之栈与队列九:行编辑器Description一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字符是错的时,可补进一个退格符"#",以表示前一个字符无效;如果发现当前键入原创 2020-08-18 17:16:32 · 319 阅读 · 0 评论 -
数据结构实验之栈与队列三:后缀式求值
数据结构实验之栈与队列三:后缀式求值Description对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。Input输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。Output求该后缀式所对应的算术表达式的值,并输出之。SampleInput59684/-3+#Output57Hint基本操作数都是一位正整数!#include <stdio.h>#include <stdlib.h>int main()原创 2020-08-18 16:25:24 · 219 阅读 · 0 评论 -
数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式Description对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。Input输入一个算术表达式,以‘#’字符作为结束标志。Output输出该表达式转换所得到的后缀式。SampleInputa×b+(c-d/e)×f#Outputab×cde/-f×+#include <stdio.h>#include <stdlib.h>int main(){ int i, top; cha原创 2020-08-18 10:49:50 · 337 阅读 · 0 评论 -
数据结构实验之栈与队列一:进制转换
数据结构实验之栈与队列一:进制转换Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。SampleInput12798Output2377#include <stdio.h>#include <stdlib.h>int main(){ int top, n, r,a[1010]原创 2020-08-17 15:33:28 · 323 阅读 · 0 评论 -
数据结构实验之栈与队列四:括号匹配
数据结构实验之栈与队列四:括号匹配Description给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”SampleInputsin(20+10){[}]Outputyesno#include <stdio.h>#include <stdlib.h>#include &原创 2020-08-16 19:32:57 · 627 阅读 · 0 评论 -
数据结构实验之栈与队列六:下一较大值(二)
数据结构实验之栈与队列六:下一较大值(二)Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序原创 2020-08-16 16:07:49 · 283 阅读 · 1 评论 -
数据结构实验之栈与队列五:下一较大值(一)
数据结构实验之栈与队列五:下一较大值(一)Description对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出有多组,每组之间输出一个空行(最后一组之后没有);每组输出按照本序列元素的顺序,依原创 2020-08-15 09:30:56 · 215 阅读 · 0 评论 -
数据结构实验之栈与队列七:出栈序列判定
数据结构实验之栈与队列七:出栈序列判定Description给一个初始的入栈序列,其次序即为元素的入栈次序,栈顶元素可以随时出栈,每个元素只能入栈依次。输入一个入栈序列,后面依次输入多个序列,请判断这些序列是否为所给入栈序列合法的出栈序列。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个出栈序列,但4,3,5,1,2就不可能是该序列的出栈序列。假设压入栈的所有数字均不相等。Input第一行输入整数n(1<=n<=10000),表示序列的长度。第原创 2020-08-14 16:24:12 · 495 阅读 · 0 评论 -
数据结构实验之栈与队列八:栈的基本操作
数据结构实验之栈与队列八:栈的基本操作Description堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。Input首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。对于每组测试数据,第一行输入两个正整数 m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表当前栈的最大长度,n代表本组原创 2020-08-13 09:51:58 · 165 阅读 · 0 评论
分享