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(ListaPtrl) {
    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(ListaPtrl,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(ListaPtrl)
{
     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;