certo .... ecco a te 
codice:
#ifndef _LISTAV_H
#define _LISTAV_H
#include <iostream>
#include "CellaLista.h"
// lunghezza massima della lista
const int DIMENSIONE = 1024;
typedef int posizione;
// classe Lista
class ListaV{
public:
ListaV(); // costruttore
~ListaV(); // distruttore
// operatori
void creaLista();
bool listaVuota() const;
tipoelem leggiLista(posizione) const;
void scriviLista(tipoelem, posizione);
posizione primoLista() const;
bool fineLista(posizione) const;
posizione succLista(posizione) const;
posizione predLista(posizione) const;
void insLista(tipoelem, posizione);
void cancLista(posizione);
//funzioni di servizio
void stampaLista()const;
void epurazione() ;
void ordina();
void cerca(tipoelem);
void inserimento();
void lunghezzaLista();
private:
CellaLista elementi[DIMENSIONE];
int lunghezza;
};
#endif // _LISTAV_H
se ti servono anche le implementazioni fammi sapere
PS. il metodo void ordina(); l'ho realizzato per selezione. A me interessa creare un Merge sort usando anche la fusione