1.问题描述: 层序遍历二叉树; 2.分析: 用队列实现,首先将头节点加入队列;如果队列不为空,则执行如下操作:从队列中取出元素输出,若该元素的子节点不为空,则将其加入队列。 3.代码实现: void levelSort(TreeNode * pHead) { deque<TreeNode *> dequeue; //a queue stores the pointer TreeNode *pCurrent=NULL; dequeue.push_back(pHead); //Add the header element while (!dequeue.empty()) { pCurrent=dequeue.front(); dequeue.pop_front(); if (pCurrent->pLeft!=NULL) dequeue.push_back(pCurrent->pLeft); if (pCurrent->pRight!=NULL) dequeue.push_back(pCurrent->pRight); cout<<pCurrent->data<<endl; } }