Perfetto, ora direi che è a posto. In effetti non avevo testato sulla testa ed è ovvio che col codice dato si abbia il crash. Resterebbe poi la questione minore (che se, come credo, si tratta di programma didattico, allora diventa irrilevante), che dopo diversi ritocchi alla lista, l'ordine numerico (inizialmente crescente) nella disposizione degli elementi si scombina continuamente. A questo si può ovviare senza ricorrere ad algoritmi di ordinamento, ma con un opportuno controllo in libera e ins_mezzo.