Funzioni Fondamenti Informatica (S. Cavalieri): InsertList

Page 1

INSERIMENTO LISTA void InsertList(list *l, position p, tipobaseList x){ struct nodoList *temp; if(!FullList(*l)){ temp = (struct nodoList *)malloc(sizeof(struct nodoList)); temp->info = x; if(p == LISTAVUOTA){ temp->next = *l; *l = temp; }else{ temp->next = p->next; p->next = temp; } } } INSERIMENTO LISTA GENERICA IN POSIZIONE GENERICA (PRIMA POSIZIONE ESCLUSA) CD00 FF00

AB00

INSERIMENTO LISTA VUOTA O NELLA PRIMA POSIZIONE HH00

l NULL HHOO

x NULL

temp

l FF00

CD00 HH00 HH00

x

×

pCD00

*

AB00

NULL

position First(list l){ return LISTAVUOTA; }

pAB00

L’ULTIMO ELEMENTO HA CAMPO NEXT NULL POICHE’:

CDOO

temp

INSERIMENTO IN PRIMA POSIZIONE RIENTRA IN QUESTO CASO POCHE’ DEFINIAMO IN PRECEDENZA:

* INSERIMENTO IN POSIZIONE 2

position End(list l){ if(l==LISTAVUOTA) return LISTAVUOTA; while(l =! LISTAVUOTA) l = l->next; return l; }


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.