满二叉树遍历

图形:

程序:

#include<stdio.h>
#include<stdlib.h>
struct node{
        char data;
        struct node* left;
        struct node* right;
};
struct node* newNode(char data){
        struct node* node = (struct node*)malloc(sizeof(struct node));
        node->data=data;
        node->left=NULL;
        node->right=NULL;
        return node;
}
void printPostorder(struct node* node){
        if(node == NULL)
                return;
        printPostorder(node->left);
        printPostorder(node->right);
        printf("%c ",node->data);
}
void printInorder(struct node* node){
        if(node==NULL){
                return;
        }
        printInorder(node->left);
        printf("%c ",node->data);
        printInorder(node->right);
}
void printPreorder(struct node* node){
        if(node==NULL){
                return;
        }
        printf("%c ",node->data);
        printPreorder(node->left);
        printPreorder(node->right);
}
int main(){
        struct node *root=newNode('A');
        root->left=newNode('B');
        root->right=newNode('C');
        root->left->left=newNode('D');
        root->left->right=newNode('E');
        root->right->left=newNode('F');
        root->right->right=newNode('G');
        root->left->left->left=newNode('H');
        root->left->left->right=newNode('I');
        root->left->right->left=newNode('J');
        root->left->right->right=newNode('K');
        root->right->left->left=newNode('L');
        root->right->left->right=newNode('M');
        root->right->right->left=newNode('N');
        root->right->right->right=newNode('O');
        printf("\nPreorder raversal of binary tree is \n");
        printPreorder(root);
        printf("\nInorder raversal of binary tree is \n");
        printInorder(root);
        printf("\nPostorder raversal of binary tree is \n");
        printPostorder(root);
        return 0;
}

输出:

Preorder raversal of binary tree is
A B D H I E J K C F L M G N O
Inorder raversal of binary tree is
H D I B J E K A L F M C N G O
Postorder raversal of binary tree is
H I D J K E B L M F N O G C A

 

转载于:https://www.cnblogs.com/litifeng/p/10662120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值