正在加载图片...
DeQueue(Q.d):Push(S,d): while(!StackEmpty(S)){ Pop(S,d);EnQueue(Q,d); 作业题: 3.6试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如“序 列&序列”模式的字符序列。其中,序列:和序列,中都不包含字符‘&’,且序 列2是序列1的逆序。例如,“a+b&b+a”是属于该模式的字符序列,而“1+3&3 一1”则不是。 3.7假设一个算术表达式中可以包含三种符号:圆括号“(”和“)”、方括号“[” 和“]”、花括号“(”和“)”,且这三种括号可按任意次序嵌套使用。编写判别 给定表达式中所含的括号是否正确配对的算法(已知表达式已存入数据元素为字 符的顺序表中)。 3.8设表达式由单字母变量、双目运算符和圆括号组成(如:“(a*(b+c)-d)/e)”。 试写一个算法,将一个书写正确的表达式转换为逆波兰式。 3.9试用类C写一个算法,对逆波兰式求值。 3.10假设以带头结点的单循环链表表示队列,只设一个尾指针指向队尾元素, 不设头指针。试编写相应的队列初始化、入队和出队的算法。 3.11假设将循环队列定义为:以rear和length分别指示队尾元素和队列长度。 试给出此循环队列的队满条件,并写出相应的入队和出队算法(在出队算法中要 传递回队头元素的值)。 3.12试写一个算法:判别读入的一个以‘@'为结束符的字符序列是否是“回文” (所谓“回文”是指正读和反读都相同的字符序列,如“XXYZyXx”是回文,而 “abcab”则不是回文). 第5页第 5 页 DeQueue(Q,d); Push(S,d); } while(!StackEmpty(S)){ Pop(S,d); EnQueue(Q,d); } } 作业题: 3.6 试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如“序 列 1&序列 2”模式的字符序列。其中,序列 1和序列 2中都不包含字符‘&’,且序 列 2是序列 1的逆序。例如,“a+b&b+a”是属于该模式的字符序列,而“1+3&3 -1”则不是。 3.7 假设一个算术表达式中可以包含三种符号:圆括号“(”和“)”、方括号“[” 和“]”、花括号“{”和“}”,且这三种括号可按任意次序嵌套使用。编写判别 给定表达式中所含的括号是否正确配对的算法(已知表达式已存入数据元素为字 符的顺序表中)。 3.8 设表达式由单字母变量、双目运算符和圆括号组成(如:“(a*(b+c)-d)/e)”。 试写一个算法,将一个书写正确的表达式转换为逆波兰式。 3.9 试用类 C 写一个算法,对逆波兰式求值。 3.10 假设以带头结点的单循环链表表示队列,只设一个尾指针指向队尾元素, 不设头指针。试编写相应的队列初始化、入队和出队的算法。 3.11 假设将循环队列定义为:以 rear 和 length 分别指示队尾元素和队列长度。 试给出此循环队列的队满条件,并写出相应的入队和出队算法(在出队算法中要 传递回队头元素的值)。 3.12 试写一个算法:判别读入的一个以‘@’为结束符的字符序列是否是“回文” (所谓“回文”是指正读和反读都相同的字符序列,如“xxyzyxx”是回文,而 “abcab”则不是回文)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有