
栈
栈
海关顶7号的鸡肉盖饭
站在屋顶对风说不想被左右
展开
-
DS堆栈--逆序输出(不使用STL栈)
输入一个字符串,按字符按输入顺序压入堆栈,然后根据堆栈后进先出的特点,做逆序输出。请编写堆栈操作的具体实现代码,实现字符串的逆序输出,需自行实现堆栈。len = str.length() //获取输入字符串的长度。//把输入的字符串保存在变量str中。第二起,每一行输入一个字符串,注意字符串不要包含空格。第一行输入t,表示有t个测试实例。每行逆序输出每一个字符串。原创 2024-09-22 21:12:23 · 453 阅读 · 0 评论 -
DS堆栈--行编辑
使用C++的STL堆栈对象,编写程序实现行编辑功能。行编辑功能是:当输入#字符,则执行退格操作;如果无字符可退就不操作,不会报错。每行输出最终处理后的结果,如果一行输入的字符串经过处理后没有字符输出,则直接输出NULL。本程序默认不会显示#字符,所以连续输入多个#表示连续执行多次退格操作。注意:必须使用堆栈实现,而且结果必须是正序输出。第一行输入一个整数t,表示有t行字符串要输入。每输入一行字符打回车则表示字符串结束。第二行起输入一行字符串,共输入t行。原创 2024-09-23 14:13:59 · 182 阅读 · 0 评论 -
DS堆栈--括号匹配
从上例可以看出第1和第2个括号匹配,第3和第10个括号匹配,4和5匹配,6和9匹配,7和8匹配,11和12匹配。处理表达式过程中需要对括号匹配进行检验,括号匹配包括三种:“(”和“)”,“[”和“]”,“{”和“}”。接下来的t行的每行输入一个表达式,表达式只考虑英文半角状态输入,无需考虑中文全角输入。随后如果连续接收到左括号,则不断进堆栈。2、 当接受第1个右括号,则和最新进栈的左括号进行匹配,表示嵌套中1组括号已经匹配消除。对于每一行的表达式,检查括号是否匹配,匹配则输入ok,不匹配则输出error。原创 2024-09-23 14:28:32 · 592 阅读 · 0 评论 -
DS堆栈--迷宫求解
如果迷宫存在路径,将路径中每个方格的x和y坐标输出,从起点到终点,每输出四个方格就换行,最终以单词END结尾,具体格式参考示范数据。给出一个N*N的迷宫矩阵示意图,从起点[0,0](也可能是[1,1])出发,寻找路径到达终点[N-1, N-1]第三行起,输入迷宫每一行的每个方格的状态,0表示可通过,1表示不可通过。如果迷宫不存在路径,则输出no path并回车。第二行输入n,表示第一个迷宫有n行n列。第一行输入t,表示有t个迷宫。以此类推输入下一个迷宫。原创 2024-09-23 16:16:34 · 510 阅读 · 0 评论 -
DS栈—波兰式,逆波兰式
求波兰式,需要操作数栈(注意不是计算结果入栈,有计算式入栈),运算符栈。栈顶运算符优先级>新读入运算符优先级出栈,教材第三章表3.1中的相同运算符优先级>(从左往右计算)改为原创 2024-09-24 15:23:09 · 1197 阅读 · 0 评论