二叉樹建樹與層次遍歷

typedef struct BiTNode{
	char data;
	struct BiTNode *lchild,*rchild;	
}BiTNode,*BiTree;

void CreateBiTree(BiTree &T){
	char ch;
	scanf("%c",&ch);
	if(ch=='#'){
		T=NULL;
		return;
	}
	T=(BiTree)malloc(sizeof(BiTNode));
	T->data=ch;
	CreateBiTree(T->lchild);
	CreateBiTree(T->rchild);
}

void LevelOrder(BiTree T){
	InitQueue(Q);
	EnQueue(Q,T);
	BiTree p;
	while(!IsEmpty(Q)){
		DeQueue(Q,p);
		visit(p);
		if(p->lchild!=NULL)
			EnQueue(Q,p->lchild);
		if(p->rchild!=NULL)
			EnQueue(Q,p->rchild);
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章