C++二叉树的建立以及遍历
2017-09-08 21:51
309 查看
最近在刷 leetcode 的题目,初学算法,菜鸟一枚,写博客记录下常用代码,以备以后查阅,如果代码出现问题,请各位高手指教
void CreatBiTree(TreeNode* &T) {
char ch;
if ((ch = getchar()) == '#')
T = NULL;
else {
T = new TreeNode;
T->val = ch;
CreatBiTree(T->left);
CreatBiTree(T->right);
}
}
void PreOrderTraverse(TreeNode* &T) { // 先序遍历二叉树
if (T!=NULL) { // 当节点不为空时执行
cout << T->val;
PreOrderTraverse(T->left);
PreOrderTraverse(T->right);
}
else
cout << "";
}
int main()
{
Solution s;
TreeNode *head=new TreeNode;
int a[7] = {1,2,2,3,4,4,3};
int flag;
CreatBiTree(head);
cout << "创建完成" << endl;
PreOrderTraverse(head);
cout << "前序遍历" << endl;
system("pause");
}
void CreatBiTree(TreeNode* &T) {
char ch;
if ((ch = getchar()) == '#')
T = NULL;
else {
T = new TreeNode;
T->val = ch;
CreatBiTree(T->left);
CreatBiTree(T->right);
}
}
void PreOrderTraverse(TreeNode* &T) { // 先序遍历二叉树
if (T!=NULL) { // 当节点不为空时执行
cout << T->val;
PreOrderTraverse(T->left);
PreOrderTraverse(T->right);
}
else
cout << "";
}
int main()
{
Solution s;
TreeNode *head=new TreeNode;
int a[7] = {1,2,2,3,4,4,3};
int flag;
CreatBiTree(head);
cout << "创建完成" << endl;
PreOrderTraverse(head);
cout << "前序遍历" << endl;
system("pause");
}
相关文章推荐
- 二叉树的建立以及遍历C/C++
- C++二叉树的建立与遍历
- 二叉树的建立与遍历(一)(c++实现)
- 二叉树的建立,以及递归前中后序遍历二叉树
- 二叉树的建立、节点查找以及节点删除C和C++实现
- C,C++创建二叉树,以及3种遍历
- 二叉树(按层建立二叉树,前中后序以及按层遍历)
- C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历、中序遍历、后续遍历)
- c++实现二叉树的非递归创建以及非递归先序、中序、后序遍历
- C++二叉树的建立、前序、中序、后序遍历
- C++编程练习(8)----“二叉树的建立以及二叉树的三种遍历方式“(前序遍历、中序遍历、后续遍历)
- C++ 二叉树的创建以及遍历
- C++ 二叉树建立,遍历
- 二叉树建立以及先序、中序、后序、层次遍历(JAVA 实现)
- 扩展二叉树 建立 以及 前序遍历 中序遍历 后序遍历 的非递归算法
- 数据结构_树_二叉树的建立、遍历、复制与移除_二叉链表存储_C++实现
- C++二叉树的前序建立与前中后遍历
- C++二叉树的建立与遍历
- python实现二叉树的建立以及遍历(递归前序、中序、后序遍历,队栈前序、中序、后序、层次遍历)
- [树]二叉树的建立以及三种遍历