栈和队列
ZCY19990813
不断丰富自己,变得有底气!
展开
-
约瑟夫环(栈和队列)
题目:n个数字(1,2,3…,n)形成一个圆圈,从数字1开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。 求出在这个圆圈中剩下的最后一个数字。 Input 输入: n=9 m=5 Output The last one is 8 Sample Input 9 5 Sam...原创 2018-05-15 20:30:52 · 1235 阅读 · 0 评论 -
队列-排队买饭
中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了,价格也不比食堂贵,并且买菜就送豆浆,吸引了不少童鞋。所以有时吧,人还是很多的,排队是免不了的,悲剧的是超市只有两个收银窗口。 问题是这样的:开始有两队人在排队,现在咱们只研究第一队,现在我们给每个人一个编号,保证编号各不相同,排在前面的人...原创 2018-05-15 20:21:49 · 240 阅读 · 0 评论 -
贪心公交车座(应用栈和队列)
在角色巴士中有n排座位,每排都有2个座位。 第i排的两个座位的宽度均为w i厘米。 没有相同宽度的座椅。 公共汽车最初是空的。 每个2n站都会有一位乘客进入巴士。 有两种类型的乘客: 一个内向者总是选择两个座位都没人的一排。 在这些排中,他选择座位宽度最小的,并占据了其中的一个座位; 一个外向型的人总是选择有人的一排。 在这些排中,他选择了座位宽度最大的那个,并占据了空位。...原创 2018-06-27 19:07:33 · 380 阅读 · 0 评论 -
十进制与八进制的转换(栈和队列)
Description 对于输入的任意一个非负十进制整数,利用栈打印输出与其等值的八进制数。 Input 111 Output 157 Sample Input 148 Sample Output 224 先转换成2进制 在分3组存到另一个对列中(没理解转换,其实直接对8求余 直接取出就好,就当练手了) 方法一 #include <stdio.h>...原创 2018-06-30 20:31:48 · 3006 阅读 · 0 评论 -
约瑟夫环·
约瑟夫环 Input 7 5(有几组数据) 10 4 11 4 1(从一开始去除谁) Output 4 2 5 6 1 Input 3 2 2 5 Output 3 2 #include <iostream> #include <cstdio> #include <queue> using namespace std; #include &l...原创 2018-03-27 15:43:52 · 147 阅读 · 2 评论 -
出栈序列(栈和队列)
已知自然数1,2,...,N(1≤N≤10000)依次入栈(即a<b当且仅当a先于b入栈),问:序列C1,C2,...,CN是否为可能的出栈序列。 例如:N=5时,3,4,2,1,5是一个可能的出栈序列,因为其可以按如下操作获得:push 1,push 2,push 3,pop,push 4,pop,pop,pop,push 5,pop Input 输入数据包含若干组测试样例。 ...原创 2018-05-15 20:15:06 · 1066 阅读 · 0 评论 -
括号匹配
假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“[”和“]”和花括号“{”和“ ”,且这三种括号可按任意的次序嵌套使用(如:…[…{… …[…]…]…[…]…(…)…)。编写判别给定表达式中所含括号是否正确配对出现的算法。输出结果YES 或者 NO。 Input 5+{[2X5]+2} Output YES Sample Input 8-[{2+7]} Samp...原创 2018-05-15 20:15:44 · 405 阅读 · 0 评论 -
双向队列
想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。 现在给你一系列的操作,请输出最后队列的状态; 命令格式: LIN X X表示一个整数,命令代表左边进队操作; RIN X 表示右边进队操作; ROUT LOUT 表示出队操作; Input 第一行包含一个整数M(M<=10000),表示有M个操作; 以下M...原创 2018-05-15 20:18:01 · 176 阅读 · 0 评论 -
栈的基本操作
堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 Input 首先输入整数t(1 <= t <= 10),代表测试的组数,以后是 t 组输入。 对于每组测试数据,第一行输入两个正整数 m(1 <= m <= 100)、n(1 <= n &...原创 2018-05-15 20:21:00 · 191 阅读 · 0 评论 -
优先队列 priority_queue 详解
原文链接 优先队列 重要通知!!!!!!!!!!!!! 优先队列没有back()操作!!!!! 引入 优先队列是一种特殊的队列,在学习堆排序的时候就有所了解。 那么优先队列是什么呢? 说白了,就是一种功能强大的队列。 它的功能强大在哪里呢? 四个字:自动排序。 优先队列的头文件&&声明 首先,你需要 #include<queue> using names...转载 2019-05-18 09:00:03 · 387 阅读 · 0 评论