C言語データ構造の二叉木の階層巡回(再帰的に実現されない)
//二叉樹の順を巡る
void leveloredertravers(TreeNode*tp)//
{
/*
*
*
*
*
*
*/
TreeNode*s[MAXNODE];//
int front=0;
int rear=0;
TreeNode*p;
p=tp;
s[rear++]=p;
// rear=(rear+1)%MAXNODE;
while(p!=NULL)
{
p=s[front++];
// front=(front+1)%MAXNODE;
printf("[%d,%s]-",p->data.id,p->data.name);
if(p->left)
{
s[rear++]=p->left;
}
if(p->right)
{
s[rear++]=p->right;
}
}
}