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