创建一棵后缀表达式树

简介: 创建一棵后缀表达式树

运行时输入:

abc*+de*f+g*+

 1 BinTree CreateExprTree()
 2 {
 3     std::stack<BinTree> S;
 4     BinTree T, Tl, Tr, BT;
 5 
 6     ElementType dt;
 7     scanf_s("%c", &dt);
 8     while (dt >= 'a' && dt <= 'z')
 9     {
10         T = (BinTree)malloc(sizeof(struct TNode));
11         T->Data = dt;
12         T->Left = T->Right = NULL;
13         S.push(T);
14         scanf_s("%c", &dt);
15     }
16     while (dt != '\n')
17     {
18         if (dt >= 'a' && dt <= 'z')
19         {
20             T = (BinTree)malloc(sizeof(struct TNode));
21             T->Data = dt;
22             T->Left = T->Right = NULL;
23             S.push(T);
24             scanf_s("%c", &dt);
25         }
26         else 
27         {
28             T = (BinTree)malloc(sizeof(struct TNode));
29             T->Data = dt;
30             Tr = S.top();
31             S.pop();
32             Tl = S.top();
33             S.pop();
34             T->Left = Tl;
35             T->Right = Tr;
36             S.push(T);
37             scanf_s("%c", &dt);
38         }
39         
40     }
41     BT = S.top();
42     
43     return BT;
44 }


相关文章
数据结构实验之栈与队列二:一般算术表达式转换成后缀式
数据结构实验之栈与队列二:一般算术表达式转换成后缀式
|
存储 算法
【每日挠头算法题(6)】二叉树的所有路径|神奇字符串
【每日挠头算法题(6)】二叉树的所有路径|神奇字符串
|
3月前
|
算法 Java C语言
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
【数据结构】后缀(逆波兰)表达式的计算以及中缀转后缀的方法
120 0
|
7月前
|
算法 搜索推荐 C++
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
数组转树形结构(递归)
大家好,今天我将向大家分享一下数组转树形结构的方法——递归方法。
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
代码随想录刷题|LeetCode 513. 找树左下角的值 112. 路径总和 113.路径总和|| 106. 从中序与后序遍历序列构造二叉树 105.从前序与中序遍历序列构造二叉树
|
存储 JSON 算法
字符串转树结构
字符串转树结构
字符串转树结构
二叉树的创建,和三种递归遍历方式
二叉树的创建,和三种递归遍历方式
Day18——找树左下角的值、路径总和、路径总和ii、从中序与后序遍历序列构造二叉树、从前序与中序遍历序列构造二叉树
Day18——找树左下角的值、路径总和、路径总和ii、从中序与后序遍历序列构造二叉树、从前序与中序遍历序列构造二叉树
98 0