1.利用栈实现表达式的转换,将中缀表达式转换成后缀表达式
基本要求:将中缀表达式转换成后缀表达式,以字母序列的形式从终端输入语法正确的中缀表达式
实现提示:(1)将中缀表达式放于字符数组a[]中,如a[]={‘5’,‘+’,‘2’,‘*’,‘(','8’,‘/’,‘4’,‘-’,‘1’,‘)’}。
(2)构造一个栈,栈顶指针是s-〉top,变量x1为栈顶元素,x2为当前从a[]中读到的元素
(3)当读到的元素是数字时,直接输出;当读到的元素是运算符时,根据优先级并利用栈顶指针的变化实现从中缀表达式到后缀表达式的转换输出
(4) 函数postfix()实现表达式转换,proceed()实现运算符优先级比较
2.设计一个哈夫曼码的编译码系统
基本要求:(1)I:初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中
(2)E:译码。利用已建好的哈夫曼树,对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中
(3)D:译码。利用已建好的哈夫曼树,将文件CodeFile中的代码进行译码,结果存入文件TextFile中
(4)T:显示哈夫曼树。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上
基本要求:将中缀表达式转换成后缀表达式,以字母序列的形式从终端输入语法正确的中缀表达式
实现提示:(1)将中缀表达式放于字符数组a[]中,如a[]={‘5’,‘+’,‘2’,‘*’,‘(','8’,‘/’,‘4’,‘-’,‘1’,‘)’}。
(2)构造一个栈,栈顶指针是s-〉top,变量x1为栈顶元素,x2为当前从a[]中读到的元素
(3)当读到的元素是数字时,直接输出;当读到的元素是运算符时,根据优先级并利用栈顶指针的变化实现从中缀表达式到后缀表达式的转换输出
(4) 函数postfix()实现表达式转换,proceed()实现运算符优先级比较
2.设计一个哈夫曼码的编译码系统
基本要求:(1)I:初始化。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中
(2)E:译码。利用已建好的哈夫曼树,对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中
(3)D:译码。利用已建好的哈夫曼树,将文件CodeFile中的代码进行译码,结果存入文件TextFile中
(4)T:显示哈夫曼树。将已在内存中的哈夫曼树以直观的方式(树或凹入表形式)显示在终端上
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货