首页 > 编程语言 > 详细

C/C++生成二叉树并搜索

时间:2014-11-06 21:53:05      阅读:322      评论:0      收藏:0      [点我收藏+]

直接上干货:

#include "targetver.h"
using namespace std;

//定义节点
struct BiNode
{
	int data;
	BiNode * lchild;
	BiNode * rchild;
};
//插入结点
BiNode * InsertBST(BiNode * root,int data)
{
if(root==NULL)
{
	root=new BiNode;
	root->data=data;
	root->lchild =root->rchild =NULL;
}
if(root->data >data)
	root->lchild = InsertBST(root->lchild ,data);
if(root->data <data)
	root->rchild = InsertBST(root->rchild ,data);
return root;
}
//创建二叉树
BiNode * CreateBST(BiNode * root,int data[],int n)
{
	int i;
	for(i=0;i<n;i++)
		root = InsertBST(root,data[i]);
	return root;
}
//先序搜索二叉树
void PrintBST(BiNode * root)
{
	if(root!=NULL)
	{
		cout<<root->data<<"->" ;
		PrintBST(root->lchild );
		PrintBST(root->rchild );
	}
}

int main(int argc, char* *argv)
{
	BiNode * root=NULL;
	int data[10]={5,9,4,7,3,6,1,8,2,10};
	root=CreateBST(root,data,10);
	PrintBST(root);
	cout<<endl;
	return 0;
}

结果(VS2010):

bubuko.com,布布扣

C/C++生成二叉树并搜索

原文:http://blog.csdn.net/feeltouch/article/details/40868301

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!