思路:
1.先将根节点入队;
2.出队,并将该出队节点的左右子节点入队;
3.循环进行第二步,直到队列空;
/* 二叉树的层次遍历(广度优先) */
#include <stdio.h>
#include <stdlib.h>
typedef struct treeNode *BinTree;
typedef struct listNode *List;
struct treeNode
{
int data;
struct treeNode *left;
struct treeNode *right;
};
struct listNode
{
BinTree element;
struct listNode *next;
};
/* 链表实现队列 */
List createList(){
List list = (List)malloc(sizeof(struct listNode));
list->element = NULL;
list->next = NULL;
return list;
}
/* 入队 */
void inList(List *tail, BinTree myElement){
if (myElement

本文介绍了使用C语言通过链表实现队列,进而利用队列进行二叉树的广度优先层次遍历的方法。主要步骤包括将根节点入队,然后循环出队并将其子节点入队,直至队列为空。
最低0.47元/天 解锁文章
417

被折叠的 条评论
为什么被折叠?



