您的位置:首页 > 理论基础 > 数据结构算法

数据结构与算法题目集(中文)4-9 二叉树的遍历 (25分)

2016-08-18 14:52 471 查看
void InorderTraversal(BinTree BT) {
if (BT) {
InorderTraversal(BT->Left);
printf(" %c", BT->Data);
InorderTraversal(BT->Right);
}
}

void PreorderTraversal(BinTree BT) {
if (BT) {
printf(" %c", BT->Data);
PreorderTraversal(BT->Left);
PreorderTraversal(BT->Right);
}
}

void PostorderTraversal(BinTree BT) {
if (BT) {
PostorderTraversal(BT->Left);
PostorderTraversal(BT->Right);
printf(" %c", BT->Data);
}
}

void LevelorderTraversal(BinTree BT) {
BinTree Queue[100];
int front = 0;
int back = 0;
if (BT)
Queue[back++] = BT;	// 指针入队
while (BT && (front != back)) {
if (Queue[front]->Left)
Queue[back++] = Queue[front]->Left;
if (Queue[front]->Right)
Queue[back++] = Queue[front]->Right;
printf(" %c", Queue[front++]->Data);	// 出队并打印
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 bt