Sabtu, 05 April 2014
Program Operasi Pohon Biner
Posted on 12.24.00 by Unknown
assalamualaikum wr.wb
kali ini saya akan share program operasi pohon biner dengan switch
langsung aja
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> // dibutuhkan untuk system("cls");
struct tree_node
{
tree_node* left;
tree_node* right;
int data;
};
tree_node* root;
bool isEmpty()
{return root==NULL;}
void insert(int d)
{
tree_node* t = new tree_node;
tree_node* parent;
t->data = d;
t->left = NULL;
t->right = NULL;
parent = NULL;
if(isEmpty())root = t;
else
{
tree_node* curr;
curr = root;
while(curr!=NULL)
{
parent = curr;
if(t->data > curr->data) curr = curr->right;
else curr = curr->left;
}
if(t->data < parent->data)
parent->left = t;
else
parent->right = t;
}
}
void inorder(tree_node* p)
{
if(p!=NULL)
{
if(p->left)
inorder(p->left);
cout<<" "<<p->data<<" ";
if(p->right)
inorder(p->right);
}
else
return;
}
void print_inorder()
{
inorder(root);
}
int count(tree_node* p)
{
if(p==NULL)return 0;
return count(p->left) + count(p->right) + 1;
}
int height(tree_node* p)
{
if(p==NULL)return 0;
int u = height(p->left),v = height(p->right);
if(u > v)
return u+1;
else
return v+1;
}
void cari_terbesar(tree_node* p)
{
if(p==NULL)
return;
else
if(p->right==NULL)
{
cout<<" "<<p->data<<" ";
return;
}
else
{
cari_terbesar(p->right);
return;
}
}
int main()
{
root=NULL;
int ch,tmp;
while(1)
{
system("cls"); // Saya mengganti scrclr() karena dicompiler sy tidak ada fungsi tersebut
cout<<endl;
cout<<"Menu Utama Operasi Pohon Biner"<<endl;
cout<<"--------------------"<<endl;
cout<<"1. Insert/Tambah Data"<<endl;
cout<<"2. Kunjungan In-Order"<<endl;
//cout<<"3. Kunjungan Pre-Order"<<endl;
//cout<<"4. Kunjungan Post-Order"<<endl;
//cout<<"5. Hapus Data"<<endl;
cout<<"6. Menghitung Jumlah Node"<<endl;
cout<<"7. Menghitung Tinggi Pohon"<<endl;
//cout<<"8. Mencari Data Terkecil"<<endl;
cout<<"9. Mencari Data Terbesar"<<endl;
cout<<"10. Exit"<<endl;
cout<<"Pilihan Anda : ";
cin>>ch;
cout<<endl;
switch(ch)
{
case 1 : cout<<"Masukan Data : ";
cin>>tmp;
insert(tmp);
break;
case 2 : cout<<endl;
cout<<"Kunjungan In-Order"<<endl;
cout<<"---------------"<<endl;
print_inorder();getch();
break;
case 6 : cout<<"Menghitung Jumlah Node"<<endl;
cout<<"------------------"<<endl;
cout<<"Jumlah Node = "<<count(root);
getch();
break;
case 7 : cout<<"Menghitung Tinggi Pohon"<<endl;
cout<<"------------------"<<endl;
cout<<"Tinggi Pohon = "<<height(root);
getch();
break;
case 9 : cout<<"Mecari Data Terbesar"<<endl;
cout<<"------------------"<<endl;
cout<<"Data Terbesar Adalah = "<<endl;
cari_terbesar(root);
getch();
break;
case 10 : return 0;
break;
default: cout<<"Pilihan yang Anda Masukkan salah!"<<endl;
getch();
break;
}
}
}
Langganan:
Posting Komentar (Atom)
Popular Posts
-
Tablet murah masih jarang ditemui di pasaran. Yang ada mungkin adalah TouchPad dari HP yang kini sudah tak diproduksi lagi dan tablet Aa...
-
Aplikasi yang dulu bernama Partition Wizard Home Edition (tanpa embel-embel MiniTool) merupakan solusi manajemen partisi hard disk yang len...
-
Sesaat sebelum mati Anda akan merasakan jantung berhenti berdetak, nafas tertahan dan badan bergetar. Anda merasa dingin di telinga...

Masih belum menemukan Bandar Betting Online Indonesia Terbaik dan Terpercaya? S128Cash adalah tempat yang tepat bagi Anda semua.
BalasHapusPerlu Anda ketahui bahwa S128Cash telah mendapatkan lisensi RESMI dari pusat Perjudian Internasional, jadi tidak ada yang perlu Anda khawatirkan lagi.
Semua permainan yang digemari masyarakat Indonesia tersedia disini, seperti :
- Sportsbook
- Live Casino
- Sabung Ayam Online
- IDN Poker
- Slot Games Online
- Tembak Ikan Online
- Klik4D
S128Cash juga menyediaka PROMO BONUS yang sangat menarik, yaitu :
- BONUS NEW MEMBER 10%
- BONUS DEPOSIT SETIAP HARI 5%
- BONUS CASHBACK 10%
- BONUS 7x KEMENANGAN BERUNTUN !!
Segera daftarkan diri Anda dan rasakan nyamanan bergabung bersama kami serta raih kemenangan Anda !!
Hubungi kami :
- Livechat : Live Chat Judi Online
- WhatsApp : 081910053031
Link Alternatif :
- http://www.s128cash.biz
Judi Bola
Website Judi Bola Terpercaya