class TreeNode { public: int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; void display(TreeNode* root, int col = 0) { if(root == 0) return; display(root->right, col + 1); for(int i = 0; i < col; ++i) std::cout<<"| "; cout<<"|"<<root->val<<std::endl; display(root->left, col + 1); } int main() { TreeNode *root = new TreeNode(0); root->left = new TreeNode(1); root->right = new TreeNode(2); root->left->left = new TreeNode(3); root->left->right = new TreeNode(4); root->right->left = new TreeNode(5); root->right->right = new TreeNode(6); root->right->right->right = new TreeNode(7); display(root); return 0; }
The most elegant way to print a Binary Tree,布布扣,bubuko.com
The most elegant way to print a Binary Tree
原文:http://blog.csdn.net/taoqick/article/details/20903701