您的位置:首页 > 其它

今天第一次学习排序二叉树

2013-10-19 13:49 162 查看
首先,是写出一个递归的树生成以及结点插入二叉树的递归算法。

#include<stdio.h>
struct tree
{
int data;
tree *lchild;
tree *rchild;
};
void insert(tree *t,int key)
{
if(t==NULL)
{
t=new tree;
t->lchild=t->rchild=NULL;
t->data=key;
return;
}
if(key<t->lchild->data)
insert(t->lchild,key);
else
insert(t->rchild,key);
}
void creattree(tree *t,int a[],int n)
{
int i;
for(i=0;i<n;i++)
insert(t,a[i]);

}

补充一下,当这颗树建立以后,用中序遍历一下这颗树,输出的是一个递增序列。

虽然名为二叉排序树,其实排序效率比不上堆排序,可当作一个树表,便于数据的查询,所以我们称之为二叉查找树也许更为合适。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: