| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 今日总结:栈 -> 正文阅读 |
|
[C++知识库]今日总结:栈 |
习题: F - F冰冰子最近新学习了队列和栈两种重要的数据结构,他知道它们具有push 和pop操作。 而冰冰子现在想同时研究栈和队列,于是,他开始了一个实验。 现在,假设队列和栈都是空的。给定一系列push k和pop操作之后,冰冰子想知道队列和栈中分别存的数字。若队列或栈已经空了,仍然接收到pop操作,则输出error。 Input 第一行为m,表示有m组测试输入,m<100。 Output 对每组测试数据输出两行,第一行是队列情况,若在队列空时收到pop操作,则输出error。其余情况将队列按照对头至队尾顺序输出队列中所有元素,中间用空格隔开。第二行是栈的情况,若在栈空时收到pop操作,则输出error。其余情况下按照栈底至栈顶的顺序输出栈中所有元素。 Sample Input 2 4 push 1 push 3 pop push 5 1 pop Sample Output 3 5 1 5 error error 思路:开始我以为是遇到一个pop就输出,但实际是要输完指点n个数才能出结果。 首先可以弄一个队列的数组Q 队尾top 队首front,在搞个栈的数组top1 栈顶top1 栈底 front1. 输入一个push,就将值分别给进队列数组 栈数组,输入pop,先判断是否为空,在进行操作。 注意:本题要输完指点n个数才能出结果,而不是数一个pop就出一个结果 代码实现:
?C-C: ?您将获得一个由括号??( )??和??[ ]??组成的字符串。这种类型的字符串被认为是正确的:?
?编写一个程序,该程序采用此类型的字符串序列并检查其正确性。您的程序可以假定最大字符串长度为??128??。? ?输入? ?第一行包含测试用例??n 的数量??。接下来的??n??行中的每一行都包含括号??( )??和??[ ]??的字符串。? ?输出? ?对于每个测试用例,如果表达式??正确,则??在单独的行中打印"是",否则打印"??否??"。? Example 1 Input example #1?content_copy 3 ([]) (([()]))) ([()[]()])() Output example #1?content_copy Yes No Yes Example 2 Input example #10?content_copy 22 ((() ()))) ([)] ((([[[]]])]) ([]) (([()]))) ([()[]()])() [(]) (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) (]) [)] [)))] [[)] ([]) (([()]))) ([()[]()])() ([)] ( ()( [() Output example #10?content_copy No Yes No No Yes No Yes No Yes No Yes No No No No Yes No Yes No No No No 思路:循环遍历,遇到'('或'[',将它们存进栈数组,遇到')'或']',再判断是否和栈顶对应。 如(([()])) ,最里层'('与')'对应,然后我们把这个栈顶删去,下一个继续匹配。 代码:
总结:做题容易忘记一些小细节,然后写代码有些复杂,没有考虑简化。? |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:29:37- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |