赞
踩
二叉树是一个双亲结点只有两个孩子结点,其遍历方法主要有:
前序遍历:根左右
中序遍历:左根右
后序遍历:左右根
- struct BiT_node
- {
- int data;
- struct BiT_node *lchild; //定义左右孩子指针
- struct BiT_node *rchild;
- };
-
- void CreatBinaryTree(BiT_node *T1) //创建二叉树
- {
- int ch;
- cout << "请输入二叉树前序遍历字符数据,空用0替代:" << endl;
- cin >> ch;
- if(ch == 0)
- {
- T1 = nullptr;
- }
- else
- {
- T1->lchild = new BiT_node;
- T1->rchild = new BiT_node;
- T1->data = ch;
- CreatBinaryTree(T1->lchild);
- CreatBinaryTree(T1->rchild);
- }
- }
主要是要进行递归,实现对左右孩子结点的创建。注意每次递归前,需要对左右孩子结点的指针开辟新空间,若不开辟则会出现段错误等问题。因为本程序运行后就结束,可以不用delete
- void PreOrderTraverse(BiT_node *T1); //前序遍历
- void InOrderTraverse(BiT_node *T
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。