摘要: Q:给定一棵二叉树的前序遍历和中序遍历,求其后序遍历。输入:两个字符串,一行为前序遍历,第二行为中序遍历样例:import:abc bac output:bca代码:#include<stdio.h>#include<string.h>struct Node{ Node *lchild; Node *rchild; char c;}Tree[50];//构建树的结点结构,此处用静态数组。int loc;//静态空间中已使用结点个数char str1[50];char str2[50];void postorder(Node *T)//后序遍历函数{ if(T->l 阅读全文
posted @ 2013-04-01 11:00 Light_yagami 阅读(217) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2013-03-29 20:16 Light_yagami 阅读(0) 评论(0) 推荐(0)
摘要: Q:读入一个只包含+-*/的非负整数计算表达式,计算该表达式的值。样例输入:4+2*5-7/11分析:利用堆栈对表达式求值是数据结构中典型的例子,算法分析如下:1.设立两个堆栈,一个存储运算符,一个存储数字2.表达式首尾添加标记运算符,且此运算符优先级最低。3.从左到右遍历表达式,若为数字,则压入数据栈。4.若为运算符,则与栈顶运算符进行优先级比较,如果当前运算符优先级高于(不低于)栈顶运算符,则当前运算符压入运算符栈;反之,则弹出栈顶运算符,同时连续弹出数字栈顶数字两次,计算后将结果压入数字栈,将当前运算符压入运算符栈。5.重复3,4步,直到遇到标志运算符。代码如下:#include< 阅读全文
posted @ 2013-03-29 19:51 Light_yagami 阅读(159) 评论(0) 推荐(0)