文章

74

粉丝

0

获赞

98

访问

9.0k

头像
二叉树的建立和遍历(模板题) 题解:
P1109 同济大学机试题
发布于2025年8月12日 16:47
阅读数 140

#include<bits/stdc++.h>
using namespace std;

typedef struct node{
	char data;
	struct node *lchild, *rchild;
}*BitTree;

// 创建二叉树
void CreateBitTree(BitTree &T){
	char c; cin >> c;
	if(c == '0') T = NULL;
	else {
		T = new node;
		T->data = c;
		CreateBitTree(T->lchild);
		CreateBitTree(T->rchild);
	}
}

// 先序遍历二叉树
void PreOrder(BitTree &T){
	if(T != NULL){
		cout << T->data << ' ';
		PreOrder(T->lchild);
		PreOrder(T->rchild);
	}
}

// 中序遍历二叉树
void InOrder(BitTree &T){
	if(T != NULL){
		InOrder(T->lchild);
		cout << T->data << ' ';
		InOrder(T->rchild);
	}
}

// 后序遍历二叉树
void PostOrder(BitTree &T){
	if(T != NULL){
		PostOrder(T->lchild);
		PostOrder(T->rchild);
		cout << T->data << ' ';
	}
}

// 计算叶子节点个数
int Leaf(BitTree &T){
	if(T == NULL) return 0;
	else if(T->lchild == NULL && T->rchild == NULL) return 1;
	else...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发