二叉链表的创建
来源:互联网 发布:四级听力知乎 编辑:程序博客网 时间:2024/06/01 09:12
#include<iostream>#include<cstdlib>using namespace std;struct BTNode{int data;BTNode * lchild,* rchild;};const int MaxSize=100;class BinaryTree{public:BinaryTree();~BinaryTree(void);void PreOrder(BTNode * root);void InOrder(BTNode * root);void PostOrder(BTNode * root);BTNode * CreateBtree();void Release(BTNode * root);BTNode * root;};
这个问题,我被纠结了很长时间,主要是输入的问题,下面这个程序采用的是先序顺序输入,用*表示空接点,对叶子节点也如此。
header。cpp
#include"header.h"BinaryTree::BinaryTree(){root=CreateBtree();}BTNode * BinaryTree::CreateBtree(){BTNode * root;char ch;cin>>ch;if(ch=='*')root=NULL;else{root=new BTNode;root->data=ch-'1'+1;root->lchild=CreateBtree();root->rchild=CreateBtree();u}return root;}void BinaryTree::PreOrder(BTNode * root){if(root==NULL) return;else{cout<<root->data<<" ";PreOrder(root->lchild);PreOrder(root->rchild);}}void BinaryTree::InOrder(BTNode * root){if(root==NULL) return;else{InOrder(root->lchild);cout<<root->data<<" ";InOrder(root->rchild);}}void BinaryTree::PostOrder(BTNode * root){if(root==NULL)return;else{PostOrder(root->lchild);PostOrder(root->rchild);cout<<root->data<<" ";}}}*/BinaryTree::~BinaryTree(){Release(root);}void BinaryTree::Release(BTNode * root){if(root!=NULL){Release(root->lchild);Release(root->rchild);delete root;}}
main
#include"header.h"int main(){BinaryTree bt;cout<<"其前序遍历为:";bt.PreOrder(bt.root);cout<<endl;cout<<"其中序遍历为:";bt.InOrder(bt.root);cout<<endl;cout<<"其后序遍历为:";bt.PostOrder(bt.root);cout<<endl;cout<<endl;system("pause");return 0;}
- 二叉树的二叉链表创建
- 二叉链表的创建
- 如何创建一颗二叉链表的二叉树?
- 13.用二叉链表实现 二叉树的创建 遍历 4种
- 二叉链表(链式二叉树)的非递归创建
- 二叉树的创建
- 二叉树的创建
- 二叉数的创建
- 二叉树的创建。
- 二叉树的创建
- 二叉树的创建
- 二叉树的创建
- 二叉树的创建
- 二叉树的创建
- 二叉树的创建
- 二叉树的 创建
- 二叉树的创建
- 二叉树的创建
- owlplatform五天听课笔记
- 分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
- 详解_C语言可变参数_va_list和_vsnprintf及printf实现
- nginx概述
- poj-1113-Wall(凸包问题)
- 二叉链表的创建
- 简单日期类
- Android 项目中文件夹作用(res文件夹详细介绍)
- IIS Service Unavailable
- Intel显卡驱动 FOR Linux官网
- HTTP协议中session与cookie的联系与区别
- D3DLOCK_NOOVERWRITE + D3DLOCK_DISCARD 的一个用处
- 当哪种公司做什么性质的销售才能够拿到高工资的探讨
- (转圈提醒)UIActivityIndicatorView、UIProgressView 活动与进度指示器