首页 > 编程知识 正文

用一维数组存放一棵完全二叉树,怎么将满二叉树存到数组中

时间:2023-05-04 15:32:18 阅读:135783 作者:159

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;

}

添加新评论

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。