数据结构-树-二叉树遍历完整可执行代码(递归/非递归)(二)

2014-11-24 01:38:41 · 作者: · 浏览: 4
el(BitTree* bt) { Queue q; q.front=q.rear=0; if (bt!=NULL) { printf("%c ",bt->data); } q.b[q.front]=bt; q.rear=q.rear+1; while (q.frontleft!=NULL) { printf("%c ",bt->left->data); q.b[q.rear]=bt->left; q.rear=q.rear+1; } if (bt->right!=NULL) { printf("%c ",bt->right->data); q.b[q.rear]=bt->right; q.rear=q.rear+1; } } } int main() { BitTree* btr=Create(); printf("前序遍历:递归和非递归实现:\n"); Preorder(btr); printf("\n"); Preorder2(btr); printf("\n"); printf("中序遍历:递归和非递归实现:\n"); Inorder(btr); printf("\n"); Inorder2(btr); printf("\n"); printf("后序遍历:递归和非递归实现:\n"); Postorder(btr); printf("\n"); Postorder2(btr); printf("\n"); printf("二叉树的高度:\n"); int Hgt=Height(btr); printf("%d \n",Hgt); printf("层次遍历二叉树:\n"); TraversalOfLevel(btr); printf("\n"); return 0; } /* 测试数据: d b a # # c # # f e # # g # # 前序遍历:递归和非递归实现: d b a c f e g d b a c f e g 中序遍历:递归和非递归实现: a b c d e f g a b c d e f g 后序遍历:递归和非递归实现: a c b e g f d a c b e g f d 二叉树的高度: 3 层次遍历二叉树: d b f a c e g */