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
-
Kali ini saya menggunakan alamat idhostinger.com . Pertama, kita mulai dari awal saja. Tetapi jika anda sudah pernah mendaftar di alamat ...
-
Penggila teknologi dan gadget-freak sedang demam dengan peluncuran iPad3 (16 Maret 2012) - Oh, versi terbaru ini diberi nama "Th...
-
Saat mata terasa gatal, muncul niat untuk menguceknya. Dan, hampir semua orang pernah melakukannya, yang akan berakibat mata memerah...
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