#include #include "operazioni_lista.h" struct elemento { int val; struct elemento *prossimo; }; struct elemento numero[20]; int i; void stampa(struct elemento *primo) { struct elemento *p; p = primo; while (p != NULL) { printf("%d ", (*p).val); p = (*p).prossimo; //p = p->prossimo; } printf("\n"); } struct elemento *nuovo_elemento(int v) { struct elemento *nuovo; nuovo = &numero[i]; (*nuovo).val = v; i = i + 1; return nuovo; } struct elemento *inserisci(struct elemento *primo, struct elemento *attuale) { if ((primo == NULL) || ((*primo).val > (*attuale).val)) { (*attuale).prossimo = primo; primo = attuale; } else { struct elemento *p, *prev; p = primo; while ((p != NULL) && ((*p).val <= (*attuale).val)) { prev = p; p = (*p).prossimo; } (*attuale).prossimo = p; (*prev).prossimo = attuale; } return primo; }