时间: 2020-06-14 19:19
void bl(btree* head) { //传入根指针
if (!head) { //若根指针为空 return
return;
}
queue<btree*> sta; //准备一个队列
sta.push(head); //先将根节点入队
while (!sta.empty()) { //队列非空则持续循环
printf("%d ", sta.front()->data); //打印队头元素
head = sta.front(); //刷新 head
sta.pop(); //队头元素出队
if (head->left) { //判断出队元素是否有左右子节点, 若有, 则入队
sta.push(head->left);
}
if (head->right) {
sta.push(head->right);
}
}
}