⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binarytree.cpp

📁 二叉搜索树的实现
💻 CPP
字号:
//***************************//
#include <iostream>
#include "BinaryTree.h"


void main() {
	//建一棵树(如图5.5所示)
	BinaryTree<char> a, b, c, d, e, f, g, h, i,nulltree;
	d.CreateTree('D', nulltree, nulltree);
	g.CreateTree('G', nulltree, nulltree);
	h.CreateTree('H', nulltree, nulltree);
	i.CreateTree('I', nulltree, nulltree);
	f.CreateTree('F', h, i);
	e.CreateTree('E', g, nulltree);
	b.CreateTree('B', d, e);
	c.CreateTree('C', nulltree, f);
	a.CreateTree('A', b, c);
	
	//前序周游二叉树
	cout << "Preorder sequence is: "<<endl;
	a.PreOrder(a.Root());				//递归
	cout << endl;
	cout << "Preorder sequence Without Recursion is: " <<endl;
	a.PreOrderWithoutRecursion(a.Root());//非递归
	cout << endl;

	//中序周游二叉树
	cout << "Inorder sequence is: "<<endl;
	a.InOrder(a.Root());			//递归
	cout << endl;
	cout << "Inorder sequence Without Recursion is: " <<endl;
	a.InOrderWithoutRecursion(a.Root());//非递归
	cout << endl;

	//后序周游二叉树
	cout << "Postorder sequence is: "<<endl;
	a.PostOrder(a.Root());			//递归
	cout << endl;
	cout << "Postorder sequence Without Recursion is: " <<endl;
	a.PostOrderWithoutRecursion(a.Root());//非递归	
	cout << endl;	

	//root
	cout << "Root is: " << a.Root()->value() <<endl;

/*	//delete tree
	a.DeleteBinaryTree(a.Root());
	cout<<"Tree is deleted."<<endl;        //没有问题,在析构函数中调用
*/

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -