JustPaste
HomeCategoriesAboutDonateContactTerms of UsePrivacy Policy
JustPaste

Free online notepad — write and share instantly

Navigate

  • Home
  • Timeline
  • Categories

Info

  • About
  • Donate
  • Contact

Legal

  • Terms of Use
  • Privacy Policy

© 2026 JustPaste.app. All rights reserved.

Made with ♥ by JustPaste

Tree Using Array | JustPaste.app
24 days ago0 views
👨‍💻Programming

Tree Using Array

#include <stdio.h>

#define SIZE 100

int tree[SIZE];

void insertRoot(int value) {
    tree[0] = value;
}

void insertLeft(int parentIndex, int value) {
    int leftIndex = 2 * parentIndex + 1;

    if (tree[parentIndex] == -1) {
        printf("Parent does not exist!\n");
    } else if (leftIndex >= SIZE) {
        printf("Tree is full!\n");
    } else {
        tree[leftIndex] = value;
    }
}

void insertRight(int parentIndex, int value) {
    int rightIndex = 2 * parentIndex + 2;

    if (tree[parentIndex] == -1) {
        printf("Parent does not exist!\n");
    } else if (rightIndex >= SIZE) {
        printf("Tree is full!\n");
    } else {
        tree[rightIndex] = value;
    }
}

void preorder(int index) {
    if (index >= SIZE || tree[index] == -1){ 
        return;
    }
  
    printf("%d ", tree[index]);
    preorder(2 * index + 1);
    preorder(2 * index + 2);
}

void inorder(int index) {
    if (index >= SIZE || tree[index] == -1){ 
        return;
    }
  
    inorder(2 * index + 1);
    printf("%d ", tree[index]);
    inorder(2 * index + 2);
}

void postorder(int index) {
    if (index >= SIZE || tree[index] == -1) { 
        return;
    }
 
    postorder(2 * index + 1);
    postorder(2 * index + 2);
    printf("%d ", tree[index]);
}

int main() {
    for (int i = 0; i < SIZE; i++){ 
        tree[i] = -1;
    }

    insertRoot(10);
    insertLeft(0, 20);
    insertRight(0, 30);
    insertLeft(1, 40);
    insertRight(1, 50);

    printf("Preorder: ");
    preorder(0);

    printf("\nInorder: ");
    inorder(0);

    printf("\nPostorder: ");
    postorder(0);

    printf("\n");

    return 0;
}
← Back to timeline