顺序表、栈和队列、串和数组
记录日常题目练习,总结知识点
Xpxiong1
这个作者很懒,什么都没留下…
展开
-
算术表达式的转换
Problem Description小明在学习了数据结构之后,突然想起了以前没有解决的算术表达式转化成后缀式的问题,今天他想解决一下。因为有了数据结构的基础小明很快就解出了这个问题,但是他突然想到怎么求出算术表达式的前缀式和中缀式呢?小明很困惑。聪明的你帮他解决吧。Input输入一算术表达式,以’#'字符作为结束标志。(数据保证无空格,只有一组输入)Output输出该表达式转换所得到的前缀式 中缀式 后缀式。分三行输出,顺序是前缀式 中缀式 后缀式。Sample Inputa*b+(c-d/原创 2020-08-03 17:06:00 · 143 阅读 · 0 评论 -
Period (字符串中的重复......)
Problem DescriptionFor each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 ≤ i ≤ N) we want to know the largest原创 2020-08-01 16:58:37 · 377 阅读 · 0 评论 -
电源线(power strings)
问题描述给定两个字符串a和b,我们将a * b定义为它们的串联。例如,如果a =“ abc”和b =“ def”,则a * b =“ abcdef”。如果我们将串联视为乘法,则以非负整数进行乘幂运算的方式为:a ^ 0 =“”(空字符串)和a ^(n + 1)= a *(a ^ n)。输入项每个测试用例都是代表s(可打印字符的字符串)的一行输入。s的长度至少为1,并且不超过1百万个字符。最后一个测试用例之后的一行包含一个句点。输出量对于每个s,您应该打印最大的n,这样对于某些字符串a,s = a原创 2020-07-27 17:57:54 · 258 阅读 · 0 评论 -
bLue的文件查找器
Problem DescriptionbLue 的电脑里存了各种各样的文件,随着文件越来越多,查找文件也成了一个麻烦事。现在,他想要查找所有指定格式(扩展名)的文件,不过他并不会使用文件管理器自带的搜索功能,所以他想求你写一个文件查找器,来帮他查找所有指定格式的文件。Input输入数据有多组(数据组数不超过 100),到 EOF 结束。对于每组数据:第一行输入一个整数 n (1 <...原创 2020-04-19 00:09:45 · 192 阅读 · 0 评论 -
cyk追楠神系列一
Problem Description众所周知,cyk 是个奇特的人,有一天,他终于又做出了一个惊 (zheng) 人 (chang) 的决定,他决定追楠神了!于是 cyk 就写了一封信向楠神表白。但是楠神作为 acm 的大佬,怎么能轻易答应 cyk,他决定对信做一个考察,为此他特意定义了“爱的证据”,“爱的证据”即如果在信里的一个长度等于 k 的字符子串里包含“love”,那么这就是一个“爱的...原创 2020-04-18 22:13:51 · 416 阅读 · 0 评论 -
字符串扩展
Problem DescriptionTom有些时候为了记录的方便,常常将一些连续的字符用扩展符’-‘简单表示。比如abcdefg可以简写为a-g,即用起始的字符和终止字符中间加上一个扩展符’-‘来表示这个字符串。但是为了处理的方便,Tom又必须将这些我们简单记法扩展成原来的字符串。很明显要是人工来做的话必定很麻烦,Tom知道计算机可以帮助他完成这个任务,但是他却不会编程,这的确让他很上火。他知...原创 2020-04-18 22:03:04 · 223 阅读 · 0 评论 -
又见回文
Problem Description“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。现在呢,就是让你判断输入的字符串是否是回文串。Input有多组输入,每行输入一串字符,保证字符串长度不会大于 100000,字符串由大小写英文字母和空格组成,以字符串“2013”作为结束标志。Output每行输出一个字符串,如果输入是回文串,输出“YES”,否...原创 2020-04-18 21:54:56 · 198 阅读 · 0 评论 -
学密码学一定得学程序
Problem Description曾经,ZYJ同学非常喜欢密码学。有一天,他发现了一个很长很长的字符串S1。他很好奇那代表着什么,于是神奇的WL给了他另一个字符串S2。但是很不幸的是,WL忘记跟他说是什么意思了。这个时候,ZYJ不得不求助与伟大的ZP。ZP笑了笑说,这个很神奇的,WL的意思是只要你找到她给你的字符串在那个神奇的字符串的位置,你就会有神奇的发现。ZYJ恍然大悟,原来如此,但是悲...原创 2020-04-18 21:27:57 · 199 阅读 · 0 评论 -
串结构练习——字符串连接
Problem Description给定两个字符串string1和string2,将字符串string2连接在string1的后面,并将连接后的字符串输出。连接后字符串长度不超过110。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2。Output对于每组输入数据,对应输出连接后的字符串,每组输出占一行。Sample Input...原创 2020-04-18 19:06:55 · 487 阅读 · 0 评论 -
数据结构实验之串三:KMP应用
Problem Description有n个小朋友,每个小朋友手里有一些糖块,现在这些小朋友排成一排,编号是由1到n。现在给出m个数,能不能唯一的确定一对值l和r(l <= r),使得这m个数刚好是第l个小朋友到第r个小朋友手里的糖块数?Input首先输入一个整数n,代表有n个小朋友。下一行输入n个数,分别代表每个小朋友手里糖的数量。之后再输入一个整数m,代表下面有m个数。下一行输入...原创 2020-04-18 18:55:52 · 133 阅读 · 0 评论 -
数据结构实验之串二:字符串匹配
Problem Description给定两个字符串string1和string2,判断string2是否为string1的子串。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string1和string2大小不超过100字符)Output输入包含多组数据,若string2是stri...原创 2020-04-18 18:47:47 · 159 阅读 · 0 评论 -
数据结构实验之串一:KMP简单应用
Problem Description给定两个字符串string1和string2,判断string2是否为string1的子串。Input输入包含多组数据,每组测试数据包含两行,第一行代表string1(长度小于1000000),第二行代表string2(长度小于1000000),string1和string2中保证不出现空格。Output对于每组输入数据,若string2是strin...原创 2020-04-18 18:44:47 · 88 阅读 · 0 评论 -
离散事件模拟-银行管理
Problem Description现在银行已经很普遍,每个人总会去银行办理业务,一个好的银行是要考虑 平均逗留时间的,即: 在一定时间段内所有办理业务的人员逗留的时间的和/ 总的人数。逗留时间定义为 人员离开的时间减去人员来的时间。银行只有考虑了这一点,我们在办理业务的时候,才不会等太多的时间。为了简化问题,我们认为银行只有一号窗口和二号窗口可以办理业务 ,并且在时间范围是12<=t...原创 2020-04-17 23:22:59 · 308 阅读 · 0 评论 -
数据结构实验之栈与队列十一:refresh的停车场
Problem Descriptionrefresh最近发了一笔横财,开了一家停车场。由于土地有限,停车场内停车数量有限,但是要求进停车场的车辆过多。当停车场满时,要进入的车辆会进入便道等待,最先进入便道的车辆会优先进入停车场,而且停车场的结构要求只出去的车辆必须是停车场中最后进去的车辆。现告诉你停车场容量N以及命令数M,以及一些命令(Add num 表示车牌号为num的车辆要进入停车场或便道...原创 2020-04-17 23:20:39 · 167 阅读 · 0 评论 -
双向队列
Problem Description想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系列的操作,请输出最后队列的状态;命令格式:LIN X X表示一个整数,命令代表左边进队操作;RIN X 表示右边进队操作;ROUTLOUT 表示出队操作;Input第一行包含一个整数M(M<=10000),表示有M...原创 2020-04-17 23:18:26 · 347 阅读 · 0 评论 -
数据结构实验之栈与队列五:下一较大值(一)
Problem Description对于包含n(1<=n<=1000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output输出...原创 2020-04-17 23:15:44 · 105 阅读 · 0 评论 -
数据结构实验之队列一:排队买饭
Problem Description 中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口。问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每...原创 2020-04-17 23:13:07 · 255 阅读 · 0 评论 -
数据结构实验之栈与队列六:下一较大值(二)
Problem Description对于包含n(1<=n<=100000)个整数的序列,对于序列中的每一元素,在序列中查找其位置之后第一个大于它的值,如果找到,输出所找到的值,否则,输出-1。Input输入有多组,第一行输入t(1<=t<=10),表示输入的组数;以后是 t 组输入:每组先输入n,表示本组序列的元素个数,之后依次输入本组的n个元素。Output...原创 2020-04-17 22:59:47 · 151 阅读 · 0 评论 -
数据结构实验之栈与队列二:一般算术表达式转换成后缀式-待更新
Problem Description对于一个基于二元运算符的算术表达式,转换为对应的后缀式,并输出之。Input输入一个算术表达式,以‘#’字符作为结束标志。Output输出该表达式转换所得到的后缀式。Sample Inputa*b+(c-d/e)*f#Sample Outputabcde/-f+实话实说哈,这个代码我还没看懂,主要是不知道表达式的中缀后缀形式;但是实验快结...原创 2020-04-17 22:51:54 · 181 阅读 · 0 评论 -
传纸条
Problem Description传纸条是一种在课堂上传递信息的老方法,虽然现在手机短信和QQ聊天越来越普及,但是手写的信息会让人感到一种亲切感。对许多学生而言,在学校里传递一些私秘性的信息是一种令人兴奋的打发时光的方式,特别是在一些令人厌烦的课堂上。XX 和 YY 经常在自习课的时候传纸条来传递一些私密性的信息。但是他们的座位相隔比较远,传纸条要通过其他人才能到达对方。在传递过程中,难免...原创 2020-04-17 22:44:38 · 278 阅读 · 0 评论 -
数据结构实验之栈与队列九:行编辑器
Problem Description一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数据区”的做法显然不是最恰当的。较好的做法是,设立一个输入缓冲区,用以接受用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现...原创 2020-04-17 19:59:22 · 116 阅读 · 0 评论 -
数据结构实验之栈与队列八:栈的基本操作
Problem Description堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。Input首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。 对于每组测试数据,第一行输入两个正整数 m(1 <= m <= 1...原创 2020-04-17 19:51:54 · 130 阅读 · 0 评论 -
数据结构实验之栈与队列四:括号匹配
Poblem Description给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”Sample Inputsin(20+10){[}]Sample Outputyesno#include&...原创 2020-04-17 19:39:38 · 150 阅读 · 0 评论 -
数据结构实验之栈与队列一:进制转换
Problem Description输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R 进制数。Sample Input12798Sample Output2377首先说一种用数组实现的,#include<stdio.h&...原创 2020-04-17 18:43:54 · 305 阅读 · 0 评论 -
顺序表应用4-2:元素位置互换之逆置算法(数据改进)
Problem Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:交换操作会有多...原创 2020-04-17 16:00:11 · 186 阅读 · 0 评论 -
顺序表应用8:最大子段和之动态规划法
Problem Description给定n(1<=n<=100000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1...原创 2020-04-17 15:55:01 · 145 阅读 · 0 评论 -
顺序表应用6:有序顺序表查询
Problem Description顺序表内按照由小到大的次序存放着n个互不相同的整数,任意输入一个整数,判断该整数在顺序表中是否存在。如果在顺序表中存在该整数,输出其在表中的序号;否则输出“No Found!"。Input第一行输入整数n (1 <= n <= 100000),表示顺序表的元素个数;第二行依次输入n个各不相同的有序非负整数,代表表里的元素;第三行输入整数t...原创 2020-04-17 15:45:35 · 145 阅读 · 0 评论 -
顺序表应用7:最大子段和之分治递归法
Problem Description给定n(1<=n<=50000)个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n。 例如,当(a[1]...原创 2020-04-17 15:39:42 · 276 阅读 · 0 评论 -
顺序表应用5:有序顺序表归并
Problem Description已知顺序表A与B是两个有序的顺序表,其中存放的数据元素皆为普通整型,将A与B表归并为C表,要求C表包含了A、B表里所有元素,并且C表仍然保持有序。Input输入分为三行:第一行输入m、n(1<=m,n<=10000)的值,即为表A、B的元素个数;第二行输入m个有序的整数,即为表A的每一个元素;第三行输入n个有序的整数,即为表B的每一个元...原创 2020-04-17 15:18:21 · 362 阅读 · 0 评论 -
顺序表应用4:元素位置互换之逆置算法
Problem Description一个长度为len(1<=len<=1000000)的顺序表,数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1<=m<=len),设计一个时间复杂度为O(N)、空间复杂度为O(1)的算法,改变原来的顺序表,把顺序表中原来在前的m个元素放到表的后段,后len-m个元素放到表的前段。注意:先将顺序表元素...原创 2020-04-17 00:25:42 · 215 阅读 · 0 评论 -
顺序表应用2:多余元素删除之建表算法
Problem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是...原创 2020-04-17 00:19:07 · 119 阅读 · 0 评论 -
顺序表应用1:多余元素删除之移位算法
Poblem Description一个长度不超过10000数据的顺序表,可能存在着一些值相同的“多余”数据元素(类型为整型),编写一个程序将“多余”的数据元素从顺序表中删除,使该表由一个“非纯表”(值相同的元素在表中可能有多个)变成一个“纯表”(值相同的元素在表中只保留第一个)。要求:1、必须先定义线性表的结构与操作函数,在主函数中借助该定义与操作函数调用实现问题功能;2、本题的目标是熟...原创 2020-04-17 00:02:27 · 135 阅读 · 0 评论