博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++实现二叉搜索树
阅读量:5930 次
发布时间:2019-06-19

本文共 1994 字,大约阅读时间需要 6 分钟。

自己实现了一下二叉搜索树的数据结构。记录一下:

#include 
using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int value) { val=value; left=NULL; right=NULL; }};class SearchTree{public: SearchTree(); ~SearchTree(); void Destory(TreeNode *); void Insertnode(int); void Preorder(TreeNode *); void Inorder(TreeNode *); void Postorder(TreeNode *); void Predisplay(); void Indisplay(); void Postdisplay();private: TreeNode *root;};SearchTree::SearchTree(){ root=NULL;}SearchTree::~SearchTree(){ cout<<"析构二叉搜索树:"<
left); Destory(node->right); cout<
val<<" "; delete node; }}void SearchTree::Insertnode(int value){ if(root==NULL) root=new TreeNode(value); else { TreeNode *p,*pre; pre=p=root; while(p) { if(p->val==value) return; else if(p->val>value) { pre=p; p=p->left; } else { pre=p; p=p->right; } } p=new TreeNode(value); if(pre->val>value) pre->left=p; else pre->right=p; }}void SearchTree::Predisplay(){ Preorder(root);}void SearchTree::Preorder(TreeNode *root){ if(root) { cout<
val<<" "; Preorder(root->left); Preorder(root->right); }}void SearchTree::Indisplay(){ Inorder(root);}void SearchTree::Inorder(TreeNode *root){ if(root) { Inorder(root->left); cout<
val<<" "; Inorder(root->right); }}void SearchTree::Postdisplay(){ Postorder(root);}void SearchTree::Postorder(TreeNode *root){ if(root) { Postorder(root->left); Postorder(root->right); cout<
val<<" "; }}int main(){ SearchTree t; int a[]={7,4,2,3,15,35,6,45,55,20,1,14}; int n=sizeof(a)/sizeof(a[0]); cout<<"构造二叉搜索树:"<

转载地址:http://saktx.baihongyu.com/

你可能感兴趣的文章
docker-compose 学习:通过 image 指令指定镜像搭建一个简单LNMP
查看>>
文件同步---GlusterFS3.3.0
查看>>
我的友情链接
查看>>
cobbler------跨网段装机
查看>>
我的友情链接
查看>>
图像基本处理算法的简单实现(二)
查看>>
jqGrid中prmNames,jsonReader,colModel的参数简介
查看>>
SugarCRM之在EditViews中调用js
查看>>
唯品会等被纳入MSCI指数,中概股迎来春天
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
MongoDB负载信息一目了然 阿里云HDM重磅发布MongoDB监控和诊断功
查看>>
VS2005相关----显示最近打开项目
查看>>
IPsec ××× (下)
查看>>
我的友情链接
查看>>
linux各个发行版的区别
查看>>
mysql客户端连接失败处理方法(can't connect to MySQL server on localhost'(10060))
查看>>
动态路由之OSPF高级应用
查看>>
vsftpd配置虚拟用户
查看>>
cesiumjs开发实践(二) Viewer控件
查看>>