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.
#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