funzione:
codice:
template<class tipoelem>
void listav<tipoelem>::inslista(typename listav<tipoelem>::posizione pos, tipoelem elem)
{
if(lunglista < maxdim) //si può inserire l'elemento?
{
if(pos <= (lunglista - 1)) //ci sono elementi da spostare?
{
for(int i = (lunglista - 1); i >= pos; i--) //spostamento degli elementi
array[i + 1] = array[i];
array[pos] = elem;
}
else
array[pos] = elem;
++lunglista;
}
else
cerr << "lista piena.\n\n";
}
Precedenti:
E' stato inserito un elemento.
L'elemento si trova in posizione 0.
Condizioni:
lunglista = 1
Parametri inslista:
pos = 0
elem = 20
Controllo del for originale:
for(int i = (lunglista - 1); i >= pos; i--)
ovvero:
for(int i = 0; i >= 0; i--)
Risultato:
il for non viene eseguito, nessun elemento viene spostato; tutti gli elementi vengono messi nella prima posizione.
Il metodo inslista() non va bene.