作者:
rockeet
发表日期:
2014年07月08日
分类:
算法
评论:
0 条
阅读次数: 2,967 次
简单,优美,的代码,你能看出来哪些是二叉树的后序、前序、中序遍历吗?你还知道二叉树有什么遍历方法?
|
struct Node { struct Node *left, *right; int data; }; |
|
|
void print(const Node* p) { assert(NULL != p); printf("%d\n", p->data); } |
|
|
void A(const Node* p) { if (p) { print(p); A(p->left); A(p->right); } } |
|
|
void B(const Node* p) { while (p) { print(p); B(p->left); p = p->right; } } |
|
|
void C(const Node* p) { if (p) { C(p->left); print(p); C(p->right); } } |
|
|
void D(const Node* p) { while (p) { D(p->left); print(p); p = p->right; } } |
|
|
void E(const Node* p) { if (p) { E(p->left); E(p->right); print(p); } } |
|
|
void F(const Node* p) { while (p) { F(p->left); // Is there an alternative // Coding? } } |
|
该日志由 rockeet 于2014年07月08日发表在
算法分类下,
你可以
发表评论,并在保留
原文地址及作者的情况下
引用到你的网站或博客。
转载请注明:
binary tree walk
标签: