doublelist.h
Vai alla documentazione di questo file.
1 
7 #ifndef DOUBLELIST_H_
8 #define DOUBLELIST_H_
9 
10 #include "elemtype.h"
11 
12 #include <stdbool.h>
13 #include <stdio.h>
14 
15 /*****************************************************************************/
16 /* Item & Primitive */
17 /*****************************************************************************/
18 
20 struct Item {
22  struct Item *next;
23  struct Item *prev;
24 };
26 typedef struct Item Item;
27 
33 Item *DListCreateEmpty(void);
34 
44 Item *DListInsertHead(const ElemType *e, Item *i);
45 
52 bool DListIsEmpty(const Item *i);
53 
63 const ElemType *DListGetHeadValue(const Item *i);
64 
76 Item *DListGetTail(const Item *i);
77 
87 Item* DListGetPrev(const Item* i);
88 
99 Item *DListInsertBack(Item *i, const ElemType *e);
100 
112 void DListDelete(Item *i);
113 
114 /*****************************************************************************/
115 /* Non Primitive */
116 /*****************************************************************************/
117 
129 void DListWrite(const Item *i, FILE *f);
130 
141 void DListWriteStdout(const Item *i);
142 
143 #endif // DOUBLELIST_H_
144 
ElemType
int ElemType
Definizione di struct ElemType.
Definition: elemtype.h:13
Item::prev
struct Item * prev
Definition: doublelist.h:23
DListInsertBack
Item * DListInsertBack(Item *i, const ElemType *e)
La funzione DListInsertBack() aggiunge un elemento in coda ad una lista (anche vuota) e ritorna la li...
Definition: doublelist.c:60
DListGetTail
Item * DListGetTail(const Item *i)
La funzione DListGetTail() ritorna la lista privata dell'elemento in testa. La funzione NON dealloca ...
Definition: doublelist.c:40
DListIsEmpty
bool DListIsEmpty(const Item *i)
La funzione DListIsEmpty() verifica se una lista รจ vuota.
Definition: doublelist.c:26
DListWriteStdout
void DListWriteStdout(const Item *i)
La funzione DListWriteStdout() stampa la lista specificata su stdout. Nello specifico,...
Definition: doublelist.c:121
Item::value
ElemType value
Definition: doublelist.h:21
DListDelete
void DListDelete(Item *i)
La funzione ListDelete() libera la memoria occupata da tutti gli elementi di una lista,...
Definition: doublelist.c:90
DListCreateEmpty
Item * DListCreateEmpty(void)
La funzione DListCreateEmpty() crea e ritorna una lista vuota, ovvero NULL.
Definition: doublelist.c:11
DListWrite
void DListWrite(const Item *i, FILE *f)
La funzione DListWrite() stampa la lista specificata su file. Nello specifico, la funzione stampa il ...
Definition: doublelist.c:106
DListGetPrev
Item * DListGetPrev(const Item *i)
La funzione DListGetPrev() ritorna il puntatore all'elemento precedente.
Definition: doublelist.c:50
Item
Definizione del tipo struct Item.
Definition: doublelist.h:20
Item::next
struct Item * next
Definition: doublelist.h:22
DListInsertHead
Item * DListInsertHead(const ElemType *e, Item *i)
La funzione DListInsertHead() aggiunge un nuovo elemento in testa ad una lista e ritorna il puntatore...
Definition: doublelist.c:15
elemtype.h
DListGetHeadValue
const ElemType * DListGetHeadValue(const Item *i)
La funzione DListGetHead() ritorna un puntatore all'elemento in testa alla lista, senza rimuoverlo.
Definition: doublelist.c:30