7
7
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
};
newNode->data = data;
return newNode;
int main() {
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
root->right->left = createNode(6);
root->right->right = createNode(7);
recursivePreorder(root);
recursiveInorder(root);
printf("\nRecursive Postorder Traversal: ");
recursivePostorder(root);
return 0;
#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
};
newNode->data = data;
return newNode;
};
newStackNode->data = data;
newStackNode->next = *stack;
*stack = newStackNode;
*stack = (*stack)->next;
free(temp);
return poppedData;
push(&stack, root);
// Push right and then left child to stack to process left first
push(&stack, current);
current = current->left;
current = pop(&stack);
push(&stack1, root);
int main() {
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
root->right->left = createNode(6);
root->right->right = createNode(7);
// Display non-recursive traversal results
nonRecursivePreorder(root);
nonRecursiveInorder(root);
nonRecursivePostorder(root);
return 0;