C++ puntatori e liste

  • Creatore Discussione Creatore Discussione asd10
  • Data di inizio Data di inizio

asd10

Nuovo Utente
9 Mag 2011
1
0
0
Ho bisogno che qualcuno mi spieghi i metodi: ad esempio cosa fa (IN MODO DETTAGLIATO),come una guida il metodo inserimento_cima,inserimento_fondo e tutti gli altri metodi.


struct tipo_rec
{
int dato;
tipo_rec *successivo;
};

class operazioni
{
public:
tipo_rec *cima,*fondo,*appoggio,*puntatore;
int a,x,y;
int lunghezza;

operazioni::operazioni(void)
{
cima=NULL;
appoggio=NULL;
fondo=NULL;
x=0;
}

void inserimento_cima(int dato)//int dato: Gli viene passato dal main.
{
appoggio=new tipo_rec();
appoggio->dato=dato;
appoggio->successivo=cima;
cima=appoggio;
if(x==0)
{
fondo=cima;
}
x++;
}

void inserimento_fondo(int dato)
{
appoggio=new tipo_rec();
appoggio->dato=dato;
fondo->successivo=appoggio;
fondo=appoggio;
x++;
}

void inserimento_intermedio(int dato)
{
appoggio=new tipo_rec();
appoggio=cima;
appoggio->dato=dato;
system ("pause");
x++;
}
void ricerca_posizione(int numero)
{
bool controllo=false;
int i=0;
while (controllo==false)
{
if (i==0)
{
appoggio=cima;
}
else
{
appoggio=appoggio->successivo;
}
if (numero==appoggio->dato)
{
controllo=true;
a=0;
y=i+1;
}
else
{
i++;
}
if(appoggio->successivo==NULL)
{
controllo=true;
a=1;
}
}
}

void stampa()
{
appoggio=cima;
for(int i = 0; i < x; i++)
{
cout<<i+1<<" elemento: "<< appoggio->dato<<endl;
appoggio=appoggio->successivo;

}
}

void lunghezza_lista()
{
lunghezza=puntatore->dato;
}
void cancellazione()//non è stato completato
{
}
};
 

Discussioni simili