Monday, July 21, 2008

Breadth first traversal of a binary tree

//Breadth first traversal using queue
void BreadthFirstTraversal(NODE *pHead)
{
if (NULL == pHead)
return;

Queue queue;

queue.Push(pHead);

while (!queue.IsEmpty())
{
NODE *pTemp = queue.Pop();

std::cout << pTemp->nValue << '\n';

if (NULL != pTemp->pLeft)
queue.Push(pTemp->pLeft);

if (NULL != pTemp->pRight)
queue.Push(pTemp->pRight);
}
}

0 comments: