二叉树层次遍历 c++

#include<iostream>
#include<deque>
#define N 10
using namespace std;


struct BTnode{
int value;
BTnode *left;
BTnode *right;
};
void fromTop2Bottom(BTnode *root){
if(!root)
return;
deque<BTnode*>que;
que.push_back(root);
while(que.size()){
BTnode *head=que.front();
que.pop_front();
cout<<head->value<<" ";
if(head->left)
que.push_back(head->left);
if(head->right)
que.push_back(head->right);
}

}
int main()
{
BTnode *arr[N+1];
for(int i=1;i<=N;i++){
arr[i]=(BTnode*)malloc(sizeof(BTnode));
arr[i]->left=NULL;
arr[i]->right=NULL;
arr[i]->value=i;
}
for(int i=1;i<=N/2;i++)
{
arr[i]->left=arr[2*i];
if(2*i+1<=N)
arr[i]->right=arr[2*i+1];
}
fromTop2Bottom(arr[1]);
return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值