//二叉树的层序遍历
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;
}
}
}