salve, vorrei creare una lista che ad esempio inserisce gli elementi fino a quando non incontra un carattere scelto da me come il carattere '.' punto,
il codice che riporto di seguito serve per inserire 5 elementi, io vorrei farne uno per "infiniti", qualcuno può spiegarmi come fare?
vi sarei grato se mi date link o voi stessi degli esercizi sulle liste visto che ho grandi difficoltà e vorrei esercitarmi, non tutti complicati, perchè le stò imparando ora...

codice:
lista* crea()
{
  //crea lista   
 lista* inizio=NULL; //inizio è il puntatore alla testa della lista    
 cout << "Inserisci 5 numeri" << endl;
 for(int i=0;i<5; i++)
    {
     lista* pa=new lista;//crea un nuovo nodo di tipo lista
     cin >> pa->n;
     pa->pun=NULL;
     if(inizio==NULL) inizio=pa;//se inizio è nulla allora pa diventa il primo elemento
     else//se la lista esiste e non è vuota
       {
        lista* app=inizio;//creo un nuovo puntatore di appoggio alla lista
        while(app->pun) //il ciclo avanza finche non si posiziona sull'ultimo elemento
             app=app->pun;
        app->pun=pa;               
       }    
    }
 return inizio;         
}