Estratto del documento

#include<iostream.h>

struct record

{

int elem;

record * prec;

};

typedef record * P;

void trova (int el, P p, int & i, P & t);

void scambio(P & p1,P & p2);

void bouble(P & p1);

class pila

{ P p;

void copy(P & p2,const P p1);

void show(P p1);

P coda(P p1);

public:

pila() { p=0; } // inizializza facendo puntare il puntatore del

recorda 0

pila(const pila & p1);

~pila();

pila operator=(const pila & p1);

void push(int e);

void pop(int &e);

void top();

void topc();

int vuota();

int piena();

void clear();

void visualizza();

void visual();

void ricerca();

void ordpila();

void cancella();

};

void pila::show(P p1)

{ cout<<"\n Elemento "<<p1->elem;

}

P pila::coda(P p1)

{ if(p1->prec) p1= coda(p1->prec);

return p1;

/* if(!p1->prec)

{ cout<<"\n Elemento in coda ";

return p1;

}

else p=coda(p1->prec);

return p1;*/

}

void pila::topc()

{ P t;

t=coda(p);

show(t);

}

pila::pila(const pila & p1)

{ copy(p,p1.p);

}

pila::~pila() //Distruttore

{

clear();

}

pila pila:: operator=(const pila & p1)

{ clear();

copy(p,p1.p);

return *this;

}

void pila::copy(P & p2, const P p1)

{ if(p1)

{ p2=new record;

p2->elem=p1->elem;

copy(p2->prec,p1->prec);

}

else p2=0;

}

void pila::push(int e)

{

P q;

q= new record;

q->elem=e;

q->prec=p;

p=q;

}

void pila::pop(int & e)

{

if(p) {

e=p->elem;

P q;

q=p;

p=p->prec;

delete q;

}

}

void pila::top()

{ if(p)

{

cout<<"\n L'elemento : "<<p->elem;

}

else cout<<"\n Non ci sono elementi nella pila ";

}

int pila::vuota()

{

return(p==0);

}

int pila::piena()

{

return(0);

}

void pila::clear()

{

int e;

if(p) { pop(e);

clear();

}

}

void pila::visualizza()

{ P q;

q=p;

visual();

p=q;

}

void pila::visual()

{ if(p)

{ top();

p=p->prec;

visual();

}

}

void pila::ricerca()

{ P h=0;

int el, i=0 ;

cout<<"\n Inserisci elemento da ricercare ";

cin>>el;

trova(el,p,i,h);

cout<<"\n L'elemento stato trovato ("<<i<<") volte" ;

}

void trova (int el, P p, int & i, P & t)

{ if(p)

{ if(el==p->elem)

{ i++;

Anteprima
Vedrai una selezione di 3 pagine su 6
Programma C++ - Pila versione completa Pag. 1 Programma C++ - Pila versione completa Pag. 2
Anteprima di 3 pagg. su 6.
Scarica il documento per vederlo tutto.
Programma C++ - Pila versione completa Pag. 6
1 su 6
Sintesi

Pila

Semplice programma in C++ che permette di utilizzare una pila e di fare tutto ciò che si vuole al suo interno, dall'inserimento alla modifica, alla ricerca al suo interno, e tante altre opzioni.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi