Program tree
#include "iostream.h"
#include
"string.h"
#include "conio.h"
struct simpulpohon
{
simpulpohon
*induk;
simpulpohon
*kiri;
simpulpohon
*kanan;
char data;
};
class pohonbiner
{
private:
simpulpohon
*akar;
int
tambah(simpulpohon *orangtua, simpulpohon *baru);
void
tampil(simpulpohon *simpul);
public:
pohonbiner();
int tambah(char
data);
void tampil();
};
void main()
{
clrscr();
char data[] =
"CARKDUPBENXZS";
pohonbiner pohon;
for (int i = 0; i
< strlen(data); i++)
pohon.tambah(data[i]);
cout<<"Data ke Pohon Biner : "<<endl;
for (int x = 0; x
< strlen(data); x++)
cout<<data[x];
cout<<endl;
cout<<endl;
cout<<"Hasil Pohon Biner :"<<endl;
pohon.tampil();
getch();
}
pohonbiner::pohonbiner()
{
akar = NULL;
}
int pohonbiner::tambah(char data)
{
simpulpohon
*simpul;
simpul= new
simpulpohon;
simpul->kiri =
NULL;
simpul->kanan
= NULL;
simpul->induk
= NULL;
simpul->data =
data;
if (akar == NULL)
{
akar = simpul;
return(1);
}
else
return(tambah(akar,simpul));
}
int pohonbiner::tambah(simpulpohon *orangtua, simpulpohon
*baru)
{
if (baru->data
==orangtua->data)
{
delete baru;
return(0);
}
else if
(baru->data < orangtua->data)
{
if
(!orangtua->kiri)
{
orangtua->kiri = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kiri,baru));
}
else
{
if
(!orangtua->kanan)
{
orangtua->kanan = baru;
baru->induk = orangtua;
}
else
return(tambah(orangtua->kanan,baru));
}
return(1);
}
void pohonbiner::tampil()
{
tampil(akar);
cout<<endl;
}
void pohonbiner::tampil(simpulpohon *simpul)
{
if (simpul)
{
if
(simpul->kiri) tampil(simpul->kiri);
cout<<simpul->data;
if
(simpul->kanan) tampil(simpul->kanan);
}
}

ini kok programnya pas dic++ gak mau jalan ya?
BalasHapussalah diapanya ya?
ganti iostream.h jadi iostream
Hapuspelajari di google