核心思想:首先根节点入队,若队列非空则做循环,若根节点有左右孩子,则左右孩子入队,第一个节点出队,循环直到队列为空。
#ifndef _BTREE_H_
#define _BTREE_H_
typedef char BTDataType;
typedef struct BinaryTreeNode{
BTDataType data;
struct BinaryTreeNode* lchild;
struct BinaryTreeNode* rchild;
}BTNode;
void BinaryTreeDestory(BTNode* root);
void BinaryTreeLevelOrder(BTNode* root);
#endif/*_BTREE_H_*/
#ifndef _QUEUE_H_
#define _QUEUE_H_
#include "BTree.h"
typedef BTNode * QuDataType;
typedef struct QueueNode
{
QuDataType _data;
struct QueueNode* _next;
}QueueNode;
typedef struct Queue {
QueueNode * _head;
QueueNode * _rear;
}Queue;
void QueueInit(Queue* plist);
void QueueDestory(Queue* plist);
void QueuePop(Queue* plist);
void QueuePush(Queue* plist, QuDataType x);
QuDataType QueueTop(Queue* plist);
int QueueIsEmpty(Queue* plist);
#endif //_QUEUE_H_