执行迭代序树遍历时的分段错误



我正在使用堆栈对二叉树进行迭代搜索。但是我遇到了分段错误。我已经检查了很多次,但找不到任何东西。请帮忙。

void inOrder(struct Node *root) 
{ 
stack<Node *> s; 
Node *t;
s.push(root);
while (s.empty() == false) { 
t = s.top();
while (t->left != NULL) {
s.push(t->left);
t = t->left;
}
while (1) {
t = s.top();
s.pop();
cout << t->data << " ";
if (t->right != NULL) {
s.push(t->right);
break;
}
}
} /* end of while */
}

while(1){

应该是:

while (!s.empty()) {

相关内容

  • 没有找到相关文章

最新更新