栈和队列问题算法假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法.

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 02:44:26
栈和队列问题算法假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法.

栈和队列问题算法假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法.
栈和队列问题算法
假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法.

栈和队列问题算法假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法.
算法不好, 也没做很多的测试, 很可能有BUG, 你再测试测试
其实更好的办法是做一个栈
#include
int main (int argc, char **argv)
{
char ch;//存储一个字符
char arrch[256];//存储多个字符
int num = -1;//指向arrch的最后一个字符
while ((ch = getchar ()) != '\n')
{
//如果输入的字符是(、[、{ 压入数组中
if (ch == '(')
arrch[++num] = ch;
if (ch == '[')
arrch[++num] = ch;
if (ch == '{')
arrch[++num] = ch;
//如果是)、]、}先判断num是否小于0, 如果小于0则肯定是错误的
//如果不小于0再看最后一个字符是否和刚输入的对应,如果不对应也是错的
//如果对应则num向前移一位
if (ch == ']')
{
if (num < 0 || arrch[num] != '[')
{
printf ("Error");
return 1;
}
--num;
}
if (ch == ')')
{
if (num < 0 || arrch[num] != '(')
{
printf ("Error");
return 1;
}
--num;
}
if (ch == '}')
{
if (num < 0 || arrch[num] != '{')
{
printf ("Error");
return 1;
}
--num;
}
}
//num不为-1则表明有不对应的括号
if (num == -1)
{
printf ("OK!");
}
else
{
printf ("Error");
}
getchar ();
return 0;
}

栈和队列问题算法假设一个人算术表达式包含圆括弧、中括弧和花括弧三种类型的括弧,编写一个判别表达式中括弧是否正确匹配的算法. 数据结构编程题(栈与队列)?1:假设一个算术表达式中可以包含圆括号“(”和“(”,编写判别给定表达式中所含括号是否正确配对出现的算法.(东软电子出版社习题)2:编写斐波那契数列 数据结构:括号匹配问题.假设一个算术表达式中允许包含两种括号:()[] 其嵌套的次序随意,请设计一个算法判断一个算术表达式中的括号是否匹配 栈和队列判断回文怎样实现算法 算术表达式求值算法?用C语言版 编写一个表达式求值演算的 算法程序 要求:使用栈,需要将算法的过程显示出来 ,输入一连串算术值 如:2*(3+2)# 然后 显示出算术过程 和结果!先将输入的 栈和队列共同点 马踏棋盘的算法是数据结构的C语言版,用栈和队列来实现. [问题描述] 一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的.假设操作数[问题描述]一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的.假设 假设循环队列中只设rear和length来分别指示队尾元素和队中元素的个数,试给出半判断此循环队列的队满条件并写出相应的入队和出队算法 运用数据结构中的栈或队列!使用栈或队列解决一个应用问题设计一个模拟计算器功能的程序,它读入一个表达式,如果是一个正确的表达式(即它由操作数、圆括号和+、-、*、/四种运算符组成 栈和队列的共同点 循环队列的优点是什么?如何判断它的空和满?假设循环队列只设rear和quelen来分别指示队尾元素的位置和队中元素的个数,试给出判断此循环队列的队满条件,并写出相应的入队和出队算法,要求 用C++实现布尔表达式的真值问题目的:本课程设计是求中缀算术表达式真值问题.求中缀算术表达式值的问题是数据结构中栈的一个典型应用.通过本题,学生应掌握中缀表达式和后缀表达式的 2.循环向量中的循环队列.队列的长度公式是什么?如何判断一个算术表达式的园括号是否正确配对? 在使用spfa算法一定可以找出最短路径吗?假设我选的第一个点很特殊,它只和起始点相连,和其它的点都不相连.那么将它从队列中取出来之后,不会有新的点被放到队列中去,这样算法岂不是就终 计算机算法求算术表达式的值,分哪两步实现算法?急… 循环队列采用设置标志的方法来区分队列的满和空 实现这个算法! 算术与算法,算术与数学的区别和联系?