Prev Next Up Title Contents Index

Binääripuu

Lopuksi vielä esimerkki binääripuun käytöstä:

cpp\luokat\btree4.cpp - esimerkki B-puun 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;
	}


Prev Next Up Title Contents Index