程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++生成二叉樹並搜索

C/C++生成二叉樹並搜索

編輯:C++入門知識

C/C++生成二叉樹並搜索


直接上干貨:

#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 rchild = InsertBST(root->rchild ,data);
return root;
}
//創建二叉樹
BiNode * CreateBST(BiNode * root,int data[],int n)
{
	int i;
	for(i=0;idata<<"->" ;
		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<
結果(VS2010):


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved