【文件属性】:
文件名称:二叉排序树
文件大小:2KB
文件格式:C
更新时间:2017-06-09 17:10:34
二叉排序树
//////////////////////////////////
/*下面是接口的实现*/
#include"bitree.h"
#include
#include
using namespace std;
bool InitBiTree(BiTree &T)
{
T=NULL;
return true;
}
bool DestroyBiTree(BiTree &T)
{
if(T==NULL)
return false;
if(T!=NULL)
{
DestroyBiTree(T->lchild);
DestroyBiTree(T->rchild);
free(T);
}
return true;
}
bool InsertBiTree(BiTree &T,TElemType item)
{
BiTree p,q;
p=(BiTree)malloc(sizeof(BiTNode));
p->data=item;
p->lchild=NULL;
p->rchild=NULL;
if(T==NULL)
T=p;
else
{
q=T;
if(itemdata)
InsertBiTree(q->lchild,item);
else
InsertBiTree(q->rchild,item);
}
return true;
}
bool CreateBiTree(BiTree &T)
{
int i;
int k;
for(i=0;i<10;i++)
{
k=1+rand()0;
InsertBiTree(T,k);
}
return true;
}
bool InOrderTraverse(BiTree T)
{
if(T==NULL)
return false;
if(T!=NULL)
{
InOrderTraverse(T->lchild);
cout<data<<" ";
InOrderTraverse(T->rchild);
}
return true;
}
bool MyOrderTraverse(BiTree T)
{
if(T==NULL)
return false;
if(T!=NULL)
{
MyOrderTraverse(T->rchild);
cout<data<<" ";
MyOrderTraverse(T->lchild);
}
return true;
}