数据结构:实验七——二叉树的层序遍历

二叉树的层序遍历:

二叉树结构:
这里写图片描述

#include "stdafx.h"
#include "BiTree.h"//二叉树头文件
[下载地址:](http://download.csdn.net/detail/wxgxgp/9825018)
#include "SeqCQueue.h"//队列头文件
[下载地址:](http://download.csdn.net/detail/wxgxgp/9825013)
void ForEach(BiTreeNode *root)//层序遍历
{
    SeqCQueue Q;
    BiTreeNode *p;
    QueueInitiate(&Q);
    QueueAppend(&Q,root);
    while (QueueNotEmpty(Q)==1)
    {
        QueueDelete(&Q,&p);
        printf("%c", p->data);
        if (p->leftChild != NULL)
            QueueAppend(&Q, p->leftChild);
        if (p->rightChild != NULL)
            QueueAppend(&Q, p->rightChild);
    }
}
void Create(BiTreeNode *root)//创建二叉树
{
    BiTreeNode *p;
    p = InsertLeftNode(root, 'A');
    p = InsertLeftNode(p, 'B');
    InsertLeftNode(p, 'D');
    InsertRightNode(p, 'E');
    p = InsertRightNode(root->leftChild, 'C');
    InsertLeftNode(p, 'F');
    InsertRightNode(p, 'G');
}
int main()
{
    BiTreeNode *root;
    Init(&root);
    Create(root);
    ForEach(root->leftChild);
    return 0;
}
//输出:
//A B C D E F G
posted @ 2017-04-25 15:28  SEC.VIP_网络安全服务  阅读(92)  评论(0编辑  收藏  举报