树的定义
树是一个数据结构 首先 要知道的就是他是递归生成的
建立二叉搜索树
//首先是头文件
//这里为了方便就直接用这个了
#include <bits/stdc++.h>
using namespace std;
struct node{
int key;
node* left;
node* right;
};
struct tree{
node* root;
};
void BuildTree(tree* Ptree,int key){
node* po;
po=new node;
po->key=key;
po->left=NULL;
po->right=NULL;
if(Ptree->root==NULL){
Ptree->root=po;
}
else{
node* tem;
tem=Ptree->root;
while(tem!=NULL){
if(key<tem->key){
if(tem->left==NULL){
tem->left=po;
return;
}
else{
tem=tem->left;
}
}
else{
if(tem->right==NULL){
tem->right=po;
return;
}
else{
tem=tem->right;
}
}
}
}
}
void pre(node* p){
if(p){
cout<<p->key<<" ";
pre(p->left);
pre(p->right);
}
}
int main(){
int a[9]={9,8,5,1,2,3,4,6,10};
tree* Tree;
Tree->root=NULL;
for(int i=0;i<9;i++)
BuildTree(Tree,a[i]);
pre(Tree->root);
return 0;
}
代码
代码十分的简单 并不需要我做太多的解释