-->
当前位置:首页 > 题库 > 正文内容

函数题:层次遍历

Luz2年前 (2022-11-12)题库435
要求实现函数,输出二叉树的层次遍历序列,可借助STL(标准模板库)之queue(队列)。二叉树采用二叉链表存储,结点结构如下:


struct BiTNode { // 结点结构
char data; // 结点数据域
BiTNode *lchild, *rchild; // 左、右孩子指针
};



### 函数接口定义:
c++
void LevelTraverse(BiTNode* T);

其中参数 T是指向二叉树根结点的指针。

### 裁判测试程序样例:
c++
#include<iostream>
#include<queue>
#include<string>
using namespace std;

struct BiTNode {
char data;
BiTNode *lchild, *rchild;
};

void LevelTraverse(BiTNode* T); // 层次遍历
BiTNode *CreateBiTree(string &s); // 创建二叉树,s存放带虚结点的先序遍历序列

// 根据带虚结点的先序序列创建二叉树并调用层次遍历函数LevelTraverse输出层次遍历结果
int main() {
string s;
while(cin>>s) {
BiTNode* root=CreateBiTree(s);
LevelTraverse(root);
}

return 0;
}


### 输入样例:

in
HDA**C*B**GF*E***
-+a**xb**-c**d**/e**f**


### 输出样例:

out
HDGACFBE
-+/axefb-cd








答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。