Lopuksi vielä esimerkki binääripuun käytöstä:
/* BTREE4.CPP */
// Esimerkki binääripuun käytöstä, BC 4.52 versio / vl 19.11.1994
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <classlib\binimp.h>
#include <string.h>
void tulosta(string &s,void *os)
{
(ostream &)os << s << " ";
}
#define tulosta_puu(cout,puu) { puu.ForEach(tulosta,(void *)cout); cout << "\n"; }
int main(void)
{
TBinarySearchTreeImp<string> puu;
string s;
char ss[10];
cout << "--------------------------------------------------------------\n";
for (int i=0; i<15; i++) { // Täytetään puu satunnaisilla jonoilla
sprintf(ss,"%03d",(rand() % 1000));
cout << ss << " ";
puu.Add(ss);
}
cout << "\n";
cout << "--------------------------------------------------------------\n";
cout << "Puun sisältö:\n";
tulosta_puu(cout,puu);
while (1) {
cout << "Anna jono, niin tutkin onko se puussa >";
getline(cin,s,'\n');
if ( s == "" ) break;
if ( puu.Find(s) ) {
puu.Detach(s);
cout << s << " Oli puussa, poistettiin!\n";
tulosta_puu(cout,puu);
}
else
cout << "Ei ole puussa!\n";
}
return 0;
}