本文主要是介绍按层次顺序(同一层自左至右)遍历二叉树的算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编写按层次顺序(同一层自左至右)遍历二叉树的算法。
二叉链表类型定义:
typedef char TElemType; // 设二叉树的元素为char类型
typedef struct BiTNode {TElemType data;BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
可用队列类型Queue的相关定义:
typedef BiTree QElemType; // 设队列元素为二叉树的指针类型
Status InitQueue(Queue &Q);
Status EnQueue(Queue &Q, QElemType e);
Status DeQueue(Queue &Q, QElemType &e);
Status GetHead(Queue Q, QElemType &e);
Status QueueEmpty(Queue Q);
提示:可将遍历元素的值(字符)依次置入ss,并最后以'\0'结尾。
也可以用下列字符串函数产生ss:
int sprintf(char *buffer, char *format [, argument, ...]);
char *strcat(char *dest, char *src);
实现函数如下:
void LevelOrder(BiTree bt, char *ss)
/* travel BiTree bt by level, Retur
这篇关于按层次顺序(同一层自左至右)遍历二叉树的算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!