2015-07-04 40 views
-1

我試圖對二叉樹進行簡單的級別遍歷,但它說我有一個segfault.I正在爲我正在使用的函數放置代碼。Level Order遍歷分段錯誤

#include<queue> 
/* 
struct node 
{ 
int data; 
node* left; 
node* right; 
}*/ 

void LevelOrder(node * root) 
{ 

queue<node*> q; 

q.push(root); 


while(!q.empty()) 
{ 
    node* t; 
    t=q.front(); 
    cout<<t->data; 

    q.push(t->left); 
    q.push(t->right); 
    q.pop(); 

} 

} 
+0

你使用的是gcc嗎?如果是的話,請使用gdb,它會很好的爲你學習。 –

回答

2

您需要檢查是否leftright爲空。如果可以爲空,則還需要檢查它。