Contoh Program Tree C++

Contoh Program Tree C++

Berikut adalah contoh program lengkap dalam bahasa C++ untuk implementasi struktur data tree. Program ini mencakup fungsi-fungsi dasar yang digunakan dalam operasi pada tree.

C++
#include <iostream>
using namespace std;

// Struktur Node
struct Node {
    int data;
    Node* left;
    Node* right;
};

// Fungsi untuk membuat node baru
Node* createNode(int data) {
    Node* newNode = new Node();
    if (!newNode) {
        cout << "Gagal membuat node baru." << endl;
        return NULL;
    }
    newNode->data = data;
    newNode->left = newNode->right = NULL;
    return newNode;
}

// Fungsi untuk menambahkan node ke tree
Node* insertNode(Node* root, int data) {
    if (root == NULL) {
        root = createNode(data);
        return root;
    }
    if (data < root->data) {
        root->left = insertNode(root->left, data);
    } else if (data > root->data) {
        root->right = insertNode(root->right, data);
    }
    return root;
}

// Fungsi untuk mencetak tree secara inorder
void inorderTraversal(Node* root) {
    if (root == NULL) {
        return;
    }
    inorderTraversal(root->left);
    cout << root->data << " ";
    inorderTraversal(root->right);
}

// Fungsi utama
int main() {
    Node* root = NULL;
    root = insertNode(root, 50);
    insertNode(root, 30);
    insertNode(root, 20);
    insertNode(root, 40);
    insertNode(root, 70);
    insertNode(root, 60);
    insertNode(root, 80);

    cout << "Tree hasil penambahan node: ";
    inorderTraversal(root);

    return 0;
}
C++

Program di atas adalah contoh lengkap implementasi struktur data tree dalam bahasa C++. Program ini mencakup fungsi-fungsi dasar seperti membuat node baru, menambahkan node ke tree, dan mencetak tree secara inorder.

Dalam program ini, setiap node memiliki tiga atribut: data (nilai node), left (pointer ke anak kiri), dan right (pointer ke anak kanan). Fungsi createNode digunakan untuk membuat node baru dengan nilai yang ditentukan. Fungsi insertNode digunakan untuk menambahkan node baru ke tree sesuai dengan aturan tree binary search. Fungsi inorderTraversal digunakan untuk mencetak tree secara inorder.

Pada fungsi utama, kita membuat tree kosong dengan menginisialisasi pointer root menjadi NULL. Kemudian, kita menambahkan beberapa node ke tree menggunakan fungsi insertNode. Akhirnya, kita mencetak tree secara inorder menggunakan fungsi inorderTraversal.

Itulah contoh program lengkap dalam bahasa C++ untuk implementasi struktur data tree. Anda dapat mengubah dan mengkustomisasi program ini sesuai kebutuhan Anda.

Leave a Reply

Your email address will not be published. Required fields are marked *