C语言数组实现tmdwg
Modified on: Thu,21 Mar 2019 22:23:00 0800热: 753度
#包含
#包含
typedef struct{
int *pTree;
int size;
(}树;
voidtree(tree*t,int *pRoot,int size );
虚拟目录(tree * t );
intajdxl(tree*t,int nodeIndex );
intaddnode(tree*t,int nodeIndex,int direction,int *pNode );
voidtreetraverse(tree*t );
voidtree(tree*t,int *pRoot,int size ) )。
{
int i;
t-ptree=(int* ) malloc ) size*sizeof ) int );
t-size=size;
for(I=0; I
{
t-pTree[i]=0;
}
t-pTree[0]=*pRoot;
}
voiddistroy(tree*t ) )。
{
自由(t-ptree );
t-pTree=NULL;
}
intajdxl(tree*t,int nodeIndex ) )。
{
节点索引0|| |节点索引=t-size ) ) ) ) )。
{
返回空值;
}
if(t-ptree[nodeindex]==0) ) ) )。
{
返回空值;
}
return t-pTree[nodeIndex];
}
intaddnode(tree*t,int nodeIndex,int direction,int *pNode ) ) ) )。
{
节点索引0|| |节点索引=t-size ) ) ) ) )。
{
}
if(t-ptree[nodeindex]==0) ) ) )。
{
}
if(direction==0) ) )。
{
节点索引(if(nodeindex*21=t-size ) ) ) ) ) ) ) ) )。
{
}
if(t-ptree[nodeindex*21]!=0)
{
}
t-pTree[nodeIndex*2 1]=*pNode;
}
if (目录==1) )。
{
if(nodeindex*2)2=t-size (if ) ) ) ) ) )。
{
}
if(t-ptree[nodeindex*2]!=0)
{
}
t-pTree[nodeIndex*2 2]=*pNode;
}
返回0;
}
{
节点索引0|| |节点索引=t-size ) ) )。
{
}
if(t-ptree[nodeindex]==0) ) ) )。
{
}
t-pTree[nodeIndex]=0;
返回0;
}
voidtreetraverse(tree*t ) )
{
int i;
for(I=0; isize; I )
{
printf('%d ',t-pTree[i] );
}
Putchar(10;
}
添加新评论