#include<iostream>
#include<queue>
using namespace std;
struct Node
{
int val;
Node* left;
Node* right;
Node(int value) :val(value), left(NULL), right(NULL) {};
};
void input(Node* root)
{
if (root == NULL)
return;
cout << "该节点的值是" << endl;
cout << root->val<<endl;
input(root->left);
input(root->right);
}
Node* create()
{
cout << "节点的值是?";
int val;
cin >> val;
if (val == -1)
{
return NULL;
}
Node* p=new Node(val);
p->left = create();
p->right = create();
return p;
}
queue<Node*>q;
void BFS(Node* root)
{
if (root != NULL)
{
q.push(root);
q.pop();
cout << root->val << endl;
BFS(root->left);
BFS(root->right);
}
}
int main()
{
cout << "创造一个树" << endl;
BFS(create());
}
二叉树的创建与遍历(广度优先搜索)
最新推荐文章于 2025-12-06 09:52:47 发布
该程序定义了一个二叉树结构,通过用户输入创建二叉树,并使用广度优先搜索(BFS)遍历并打印节点值。输入函数和创建函数用于构建树,BFS函数执行搜索操作。
3622

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



