赞
踩
以二叉链表作存储结构,建立一棵二叉树, 输出该二叉树的先序遍历序列。
二叉链表的类型描述:
- typedef char ElemType;
- typedef struct BiNode
- { ElemType data;
- struct BiNode *lchild,*rchild;
- }BiNode,*BiTree;
输入一个二叉树的先序序列,孩子为空的位置以#
替代。
输出该二叉树的先序遍历序列。输出的遍历序列中字符间均无间隔。
具体格式参看输出样例。
ABD##FE###CG#H##I##
ABDFECGHI
代码实现
-
- #define OK 1
- #define ERROR 0
- #include<iostream>
- using namespace std;
- #define MAX 100
- typedef struct BiNode
- { char data;
- struct BiNode *l,*r;
- }BiNode,*B;
- int creat(B &t){
- char ch;
- cin>>ch;
- if(ch=='#') t=NULL;
- else{
- t=new BiNode;
- t->data=ch;
- creat(t->l);
- creat(t->r);
- }
- }
- int trave(B &t){
- if(t==NULL) return OK;
- else{
- cout<<t->data;
- trave(t->l);
- trave(t->r);
- }
- }
-
- int main(){
- B t;
- creat(t);
- trave(t);
- }
-
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。