二叉樹(二)二叉樹的層序遍歷

二叉樹的層次遍歷是通過一個隊列來實現,先讓根節點入隊列,然後出隊列,將出隊列的值打印出來,並將這個值得左右子節點入隊列,開始的時候只要有出隊列就有兩個子節點入隊列,最後的時候到了葉子節點,就全是出隊列了;

代碼比較簡單,如下:

void travBiTree3(Node *head)//層次遍歷
{
	if (head==NULL)
	{
		return;
	}
	queue q;
	Node *temp=NULL;
	q.push(head);
	while(!q.empty())
	{
		q.pop(temp);
		cout<<temp->val<<"\t";
		if (temp->left)
		{
			q.push(temp->left);
		}
		if (temp->right)
		{
			q.push(temp->right);
		}
	}
}


 

發佈了77 篇原創文章 · 獲贊 11 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章