#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; } printf("\n"); } struct elemento *nuovo_elemento(int v) { struct elemento *nuovo; nuovo = &numero[i++]; nuovo->val = v; nuovo->prossimo = NULL; 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; }