tree
unknown
plain_text
2 years ago
1.3 kB
3
Indexable
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
struct Node *left, *right;
};
struct Node *newNode(int data) {
struct Node *node = (struct Node *)malloc(sizeof(struct Node));
node->data = data;
node->left = node->right = NULL;
return node;
}
void printPostorder(struct Node *node) {
if (node == NULL)
return;
printPostorder(node->left);
printPostorder(node->right);
printf("%d ", node->data);
}
void printInorder(struct Node *node) {
if (node == NULL)
return;
printInorder(node->left);
printf("%d ", node->data);
printInorder(node->right);
}
void printPreorder(struct Node *node) {
if (node == NULL)
return;
printf("%d ", node->data);
printPreorder(node->left);
printPreorder(node->right);
}
int main() {
struct Node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);
root->left->right = newNode(5);
printf("\nPreorder traversal: ");
printPreorder(root);
printf("\nInorder traversal: ");
printInorder(root);
printf("\nPostorder traversal: ");
printPostorder(root);
getchar();
return 0;
}
Editor is loading...
Leave a Comment