Codice PHP:
#include <cstdlib>
#include <iostream>
#include"ListaPtr.h"
using namespace std;
//Metodo che mi carica gli elementi della lista
void caricaLista(ListaPtr &l,int nElementi)
{
posizione pos;
elementoLista a;
int count;
l.creaLista();
pos = l.primoLista();
for(count=1;count<=nElementi;++count)
{
cout<<"Inserisci l'elemento numero:"<<count<<" della lista"<<endl;
cin>>a;
l.insLista(a,pos);
pos=l.succLista(pos);
}
}
//Metodo che stampa gli elementi della lista
void stampaLista(ListaPtr& l) {
if (!l.listaVuota()) {
posizione pos;
elementoLista a;
pos=l.primoLista();
while (!l.fineLista(pos)) {
a=l.leggiLista(pos);
cout<<a<<" ";
pos=l.succLista(pos);
}
cout << endl;
} else
cout<<"< >"<<endl;
}
//Metodo che ricerca un elemento all'interno di una lista
void ricercaLista(ListaPtr& l,elementoLista elem)
{
if(!l.listaVuota())
{
posizione pos;
int c=0;
elementoLista a;
bool trovato=false;
pos=l.primoLista();
while(!l.fineLista(pos))
{
c++;
a=l.leggiLista(pos);
if(a==elem)
{
trovato=true;
cout<<"L'elemento e'stato trovato in posizione "<<c<<endl;
}
pos=l.succLista(pos);
}
if(trovato==false){
cout<<"L'elemento non e'presente all interno della lista"<<endl;
}
}else
cout<<"Non sono presenti elementi nella lista"<<endl;
}
//Metodo che elimina i duplicati della lista
void epuraLista(ListaPtr& l)
{
if(!l.listaVuota())
{
posizione pos,pos1;
elementoLista a,b;
pos=l.primoLista();
pos1=l.primoLista();
while(!l.fineLista(pos))
{
a=l.leggiLista(pos);
pos1=l.succLista(pos);
while(!l.fineLista(pos1))
{
b=l.leggiLista(pos1);
if(a==b)
l.cancLista(pos1);
else
pos1=l.succLista(pos1);
}
pos=l.succLista(pos);
}
} else
cout<<"La lista non contiene elementi"<<endl;
}
//Metodo che costruisce una lista facendo la differenza dell'elemento successivo con quello precedente
void costruisciLista(ListaPtr &l,ListaPtr &m)
{
m.creaLista();
if(!l.listaVuota())
{
posizione pos,pos1,pos2;
elementoLista a,b,c;
pos=l.primoLista();
pos1=l.succLista(pos);
pos2=m.primoLista();
while(!l.fineLista(pos1))
{
a=l.leggiLista(pos);
b=l.leggiLista(pos1);
c=(b-a);
m.insLista(c,pos2);
pos1=l.succLista(pos1);
pos=l.succLista(pos);
pos2=m.succLista(pos2);
}
}
}
int main (int argc,char *argv[])
{
ListaPtr L,M;
int n;
elementoLista elem;
cout<<"Di quanti elementi deve essere formata la lista?"<<endl;
cin>>n;
caricaLista(L,n);
cout<<"L: ";
stampaLista(L);
cout<<"Inserisci l'elemento da ricercare all'interno della lista"<<endl;
cin>>elem;
ricercaLista(L,elem);
cout<<"Epurazione degli elementi della lista "<<endl;
epuraLista(L);
stampaLista(L);
cout<<"Costruzione Lista"<<endl;
costruisciLista(L,M);
stampaLista(M);
system("pause");
return 0;
}