数据结构:树的遍历!按先序遍历创建一棵树,分别以先序、中序、后序遍历输出
2014-06-08 13:19
477 查看
题目:树的遍历!按先序遍历创建一棵树,分别以先序、中序、后序遍历输出
样例输入
A B # D # # C E # # F # #
样例输出
PreOrder: A B D C E F
InOrder: B D A E C F
PostOrder: D B E F C A
代码:
样例输入
A B # D # # C E # # F # #
样例输出
PreOrder: A B D C E F
InOrder: B D A E C F
PostOrder: D B E F C A
代码:
//按先序遍历创建一棵树,分别以先序、中序、后序遍历输出 #include <iostream> using namespace std; struct node{ char ch; node *left, *right; }; node* creat() { node *root = new node; char c; cin >> c; if(c == '#') root = NULL; else { root->ch = c; root->left = creat(); root->right = creat(); } return root; } void preOrder(node *root) { if(root == NULL) return; //这条语句不能忘!!! cout << " " << root->ch; preOrder(root->left); preOrder(root->right); } void inOrder(node *root) { if(root == NULL) return; inOrder(root->left); cout << " " << root->ch; inOrder(root->right); } void postOrder(node *root) { if(root == NULL) return; postOrder(root->left); postOrder(root->right); cout << " " << root->ch; } int main() { node *root = creat(); cout << "preOrder:"; preOrder(root); cout << endl; cout << "inOrder:"; inOrder(root); cout << endl; cout << "postOrder:"; postOrder(root); cout << endl; return 0; }
相关文章推荐
- 数据结构课设 根据后序和中序遍历输出先序遍历
- 【数据结构与算法】(六) c 语言实现简单的二叉树静态创建及先序、中序、后序遍历
- 数据结构 分别用递归和非递归方法实现二叉树先序,中序,后序遍历
- 【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。
- 已知先序遍历和中序遍历,输出他的后序遍历序列.
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 再回首,数据结构——树的先序、中序、后序遍历的递归与非递归实现
- 数据结构之 二叉树的构造与遍历(先序,中序,后序,层次)
- [置顶] 数据结构之 二叉树的构造与遍历(先序,中序,后序,层次)
- 实现二叉排序树, 并分别用先序、中序、后序输出
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 【数据结构与算法】二叉树前序、中序、后序遍历间关系
- 数据结构:树的BFS,树的层次遍历! 按先序遍历创建一棵树,然后以层次遍历输出。
- 数据结构_输出二叉树中先序、中序、后序遍历方式中第k个节点的数据
- 已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
- 数据结构—二叉树的创建 遍历 输出
- 数据结构——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现
- (编程训练)再回首,数据结构——二叉树的前序、中序、后序遍历(递归)
- 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现