zoukankan      html  css  js  c++  java
  • 数据结构:实验七——二叉树的层序遍历

    二叉树的层序遍历:

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

    #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
    
  • 相关阅读:
    JS闭包
    css3 背景渐变
    css扩展技术:Less和Sass的区别
    HTML5 Canvas八大核心技术及其API用法
    HTML5新标签含义,用法及其与HTML4的区别
    当离散遇见连续
    素数测试
    概率采样问题
    二分查找及其变种
    C++与Java多态的区别
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286808.html
Copyright © 2011-2022 走看看