ciao ragazzi .... chi mi scrive il codice per creare una lista bidirezionale? (non la dichiarazione della struttura)
ciao ragazzi .... chi mi scrive il codice per creare una lista bidirezionale? (non la dichiarazione della struttura)
ragazzi per favore mi serve per l'esame che avrò il 21 ...... sul mio libro non c'è niente relativo alle liste bidirezionali...
vi posto la dichiarazione della struttura cosi magari capite meglio ...
codice:struct lista { int value; struct lista *next; struct lista *prev; };
Ma c'e' su internet ... dai .. un po' di impegno ... hai scritto la struttura ... inizia a scrivere il codice ...
Cerca le "double linked list" ... http://24bytes.com/Double-linked-List.html
grazie mille ... ho provato a cercare con google ... ma scrivendo "lista bidirezionale" non viene un cavolo!!!
proprio quello che mi serviva, se ho perplessità stai sicuro che posterò qui :P:P
Sì, ma e' facilmente convertibile in C puro ...
E comunque, leggerei anche
http://www.mema.ucl.ac.be/~wu/FSA2716-2002/cexe.html
anche se circolare ... con poche modifiche ...
uffa ... non riesco a capire!! come si crea una lista bidirezionale in C ?? dal C++ non lo so adattare ...........
questo crea una lista monodirezionale, per renderla BIdirezionale basta fare qualche modifica o non ci azzecca proprio ??
codice:struct lista *creaLista() { struct lista *p, *aux; int i, n; printf("\nDa quanti lista e' composta la lista? "); scanf("%d", &n); if (n==0) p = NULL; else { p = (struct lista *)malloc(sizeof(struct lista)); printf("\nInserisci la 1a informazione: "); scanf("%d", &p->inf); aux = p; for(i=2; i<=n; i++) { aux->next = (struct lista *)malloc(sizeof(struct lista)); aux = aux->next; printf("Inserisci la %da informazione: ", i); scanf("%d", &aux->inf); } aux->next = NULL; } return(p); }
Se vuoi fare qualcosa in modo un po' più "pulito", fai così:
Usa strutture di questo tipo:
Poi inizia a pensare la realizzazione di almeno 3 ipotetiche funzioni:codice:typedef struct lnklist_item { int value; struct lnklist_item *prev; struct lnklist_item *next; } LNKLIST_ITEM; typedef struct { LNKLIST_ITEM *head; LNKLIST_ITEM *tail; } LNKLIST;
codice:int LinkedList_Init (LNKLIST *lnklist) int LinkedList_Append (LNKLIST *lnklist, int value) int LinkedList_Free (LNKLIST *lnklist)
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
accidenti .. per la struttura non basta aggiungere il campo *prev ... ci vuole tail e head?! ma a che serve?
comunque mi sa che lascio perderemi sembra troppo complicato.......andrò al prossimo appello sperando che capiti un esercizio più facile