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); // 出队并打印
}
}
数据结构与算法题目集(中文)4-9 二叉树的遍历 (25分)
最新推荐文章于 2023-12-08 12:45:22 发布