把二叉树打印成多行

来源:互联网 发布:php json数组 编辑:程序博客网 时间:2024/06/09 03:10

题目描述:从上到下按层打印二叉树,同一层的结点按从左到右的顺序打印,每一层打印到一行,例如

void Print(){if (_root == NULL)return;queue<Node*>q;q.push(_root);int NextLevel = 0; //下一行结点的个数int CurLevel = 1;  //当前行结点的个数while (!q.empty()){Node* front = q.front();cout << front->_value << " ";q.pop();CurLevel--;if (front->_left){q.push(front->_left);NextLevel++;}if (front->_right){q.push(front->_right);NextLevel++;}if (CurLevel == 0) //说明该行的结点都已被打印{printf("\n");CurLevel = NextLevel;NextLevel = 0;}}}



0 0
原创粉丝点击