Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.0 kB
4
Indexable
Never
#include <stdio.h>
#include <stdlib.h>
struct node {
 int item;
 struct node* left;
 struct node* right;
};
// Inorder traversal
void inorderTraversal(struct node* root) {
 if (root == NULL) return;
 inorderTraversal(root->left);
 printf("%d ->", root->item);
 inorderTraversal(root->right);
}

// Create a new Node
struct node* createNode(value) {
 struct node* newNode = malloc(sizeof(struct node));
 newNode->item = value;
 newNode->left = NULL;
 newNode->right = NULL;
return newNode;
}
// Insert on the left of the node
struct node* insertLeft(struct node* root, int value) {
 root->left = createNode(value);
return root->left;
}
// Insert on the right of the node
struct node* insertRight(struct node* root, int value) {
 root->right = createNode(value);
 return root->right;
}
int main() {
 struct node* root = createNode(1);
 insertLeft(root, 2);
 insertRight(root, 3);
 insertLeft(root->left, 4);
 printf("Inorder traversal \n");
 inorderTraversal(root);
 
}