Questo sito ha bisogno della pubblicità per poter essere mantenuto. Gentilmente disabilita il blocco della pubblicità nel tuo browser per questo sito web.
Caricamento in corso...Caricamento in corso...
Caricamento in corso...

Albero con 2 input: carattere e numero

Dato un albero, inserire due input: carattere e numero , stampare gli input e fare la ricerca.

 

#include<iostream>
using namespace std;

class A {

private:
char a;
int b;
A *dx;
A *sx;

public:

A(char x, int y){a=x;b=y;sx=NULL;dx=NULL;}
void setsx(A *punt){sx=punt;}
void setdx(A *punt){dx=punt;}
A *getdx(){return dx;}
A *getsx(){return sx;}
int getb(){return b;}
void stampa(){cout<<"  "<<a<<" - "<<b<<"  ";}
};

int x;


void visualizza(A *radice)
 {
 if(radice != NULL)
 {
 visualizza(radice->getsx());
 radice->stampa();
 visualizza(radice->getdx());
 }}

void ricerca(A *radice)
 {
 if(radice != NULL)
 {
 ricerca(radice->getsx());
 if(radice->getb()==x)
 cout<<"numero presente";
 ricerca(radice->getdx());
 }}

int main ()
{
A *start=NULL,*tempo,*tempo2;
char car;
int val;
int scelta;
bool flag;

do
{
    cout<<"1-- inserire un carattere e un numero"<<endl;
    cout<<"2-- stampare"<<endl;
    cout<<"3-- ricerca un numero"<<endl;
    cout<<"4-- uscire"<<endl;
    cin>>scelta;
    cout<<"\n"<<endl;
    switch(scelta){
    case 1:
    cin>>car>>val;

    if(start==NULL)
 {
 start = new A(car,val);
 } else
 {
 flag=true;
 tempo=start;
 while(flag==true)
 {
 if((val<=tempo->getb()) && (tempo->getsx()==NULL))
 {
 tempo2 = new A(car,val);
 tempo->setsx(tempo2);
 flag=false;}
 else if((val>tempo->getb()) && (tempo->getdx()==NULL))
 {
 tempo2 = new A(car,val);
 tempo->setdx(tempo2);
 flag=false;}
 else if((val<=tempo->getb()) && (tempo->getsx()!=NULL))
 tempo=tempo->getsx();
 else if((val>tempo->getb()) && (tempo->getdx()!=NULL))
 tempo=tempo->getdx();

}}
    break;

    case 2:
    visualizza(start);
    cout<<"\n"<<endl;
    break;

    case 3:
    cout<<"\nInserisci numero da cercare\n";
    cin>>x;
    ricerca(start);
    cout<<"\n"<<endl;
    break;
    }

} while(scelta!=4);

}