Composti | Ridefinizioni di tipo (typedef) | Funzioni
Riferimenti per il file doublelist.h
#include "elemtype.h"
#include <stdbool.h>
#include <stdio.h>

Vai al codice sorgente di questo file.

Composti

struct  Item
 Definizione del tipo struct Item. Continua...
 

Ridefinizioni di tipo (typedef)

typedef struct Item Item
 Definizione di un nome alternativo per struct Item.
 

Funzioni

ItemDListCreateEmpty (void)
 La funzione DListCreateEmpty() crea e ritorna una lista vuota, ovvero NULL. Continua...
 
ItemDListInsertHead (const ElemType *e, Item *i)
 La funzione DListInsertHead() aggiunge un nuovo elemento in testa ad una lista e ritorna il puntatore alla nuova lista. Continua...
 
bool DListIsEmpty (const Item *i)
 La funzione DListIsEmpty() verifica se una lista è vuota. Continua...
 
const ElemTypeDListGetHeadValue (const Item *i)
 La funzione DListGetHead() ritorna un puntatore all'elemento in testa alla lista, senza rimuoverlo. Continua...
 
ItemDListGetTail (const Item *i)
 La funzione DListGetTail() ritorna la lista privata dell'elemento in testa. La funzione NON dealloca la memoria occupata dalla testa della lista. Continua...
 
ItemDListGetPrev (const Item *i)
 La funzione DListGetPrev() ritorna il puntatore all'elemento precedente. Continua...
 
ItemDListInsertBack (Item *i, const ElemType *e)
 La funzione DListInsertBack() aggiunge un elemento in coda ad una lista (anche vuota) e ritorna la lista risultante. Continua...
 
void DListDelete (Item *i)
 La funzione ListDelete() libera la memoria occupata da tutti gli elementi di una lista, indipendentemente dalla posizione dell'Item specificato. Continua...
 
void DListWrite (const Item *i, FILE *f)
 La funzione DListWrite() stampa la lista specificata su file. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi della lista, separati dai caratter ", ", e dal carattere "]". La stampa degli elementi dipende dalla definizione di ElemType. Continua...
 
void DListWriteStdout (const Item *i)
 La funzione DListWriteStdout() stampa la lista specificata su stdout. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi della lista, separati dai caratter ", ", e dal carattere "]". La stampa degli elementi dipende dalla definizione di ElemType. Continua...
 

Descrizione dettagliata

Questo file contiene la definizione del tipo Item e la documentazione delle funzioni primitive (e non) relative alle liste doppiamente concatenate. Si noti che il comportamento di queste funzioni è indipendente dalla definizione di ElemType.

Definizione nel file doublelist.h.

Documentazione delle funzioni

◆ DListCreateEmpty()

Item* DListCreateEmpty ( void  )

La funzione DListCreateEmpty() crea e ritorna una lista vuota, ovvero NULL.

Restituisce
Lista vuota (NULL).
Esempi
copy.c, insert_ord.c, iterate.c, e load.c.

Definizione alla linea 11 del file doublelist.c.

◆ DListDelete()

void DListDelete ( Item i)

La funzione ListDelete() libera la memoria occupata da tutti gli elementi di una lista, indipendentemente dalla posizione dell'Item specificato.

La funzione ListDelete() prende in input un puntatore ad un elemento di una lista e libera la memoria occupata da tutti i suoi Item, quelli precedenti, quelli successivi e quello passato come input alla funzione.

Parametri
[in]iItem della lista di cui liberare la memoria, può essere NULL.
Restituisce
Non ci sono valori di ritorno.
Esempi
copy.c, insert_ord.c, iterate.c, e load.c.

Definizione alla linea 90 del file doublelist.c.

◆ DListGetHeadValue()

const ElemType* DListGetHeadValue ( const Item i)

La funzione DListGetHead() ritorna un puntatore all'elemento in testa alla lista, senza rimuoverlo.

Parametri
[in]iLista da cui estrarre il valore in testa. Questa lista non può essere vuota, nel caso in cui lo sia la funzione termina il programma con codice di errore 1.
Restituisce
Puntatore all'elemento (costante) in testa alla lista.
Esempi
copy.c, insert_ord.c, e iterate.c.

Definizione alla linea 30 del file doublelist.c.

◆ DListGetPrev()

Item* DListGetPrev ( const Item i)

La funzione DListGetPrev() ritorna il puntatore all'elemento precedente.

Parametri
[in]iLista da cui ottenere l'Item precedente. La lista non può essere vuota, nel caso in cui lo sia la funzione termina il programma con codice di errore 3.
Restituisce
Puntatore alla nuova testa della lista. Il valore di ritorno potrebbe essere una lista vuota (NULL).
Esempi
iterate.c.

Definizione alla linea 50 del file doublelist.c.

◆ DListGetTail()

Item* DListGetTail ( const Item i)

La funzione DListGetTail() ritorna la lista privata dell'elemento in testa. La funzione NON dealloca la memoria occupata dalla testa della lista.

Parametri
[in]iLista da cui ottenere la coda. La lista non può essere vuota, nel caso in cui lo sia la funzione termina il programma con codice di errore 2.
Restituisce
Lista ottenuta dopo l'eliminazione della testa. Il valore di ritorno potrebbe essere una lista vuota (NULL).
Esempi
copy.c, insert_ord.c, e iterate.c.

Definizione alla linea 40 del file doublelist.c.

◆ DListInsertBack()

Item* DListInsertBack ( Item i,
const ElemType e 
)

La funzione DListInsertBack() aggiunge un elemento in coda ad una lista (anche vuota) e ritorna la lista risultante.

Parametri
[in]iLista a cui aggiungere l'elemento specifciato. Questa lista può essere vuota (NULL).
[in]ePuntatore all'elemento da aggiugnere in coda alla lista. Il valore contenuto in e non viene modificato.
Restituisce
Lista ottenuta dopo l'aggiunta dell'elemento.
Esempi
copy.c, e iterate.c.

Definizione alla linea 60 del file doublelist.c.

◆ DListInsertHead()

Item* DListInsertHead ( const ElemType e,
Item i 
)

La funzione DListInsertHead() aggiunge un nuovo elemento in testa ad una lista e ritorna il puntatore alla nuova lista.

Parametri
[in]ePuntatore all'elemento da aggiugnere in testa alla lista.
[in]iLista a cui aggiungere il nuovo elemento. i può essere una lista vuota (NULL).
Restituisce
Lista risultante.
Esempi
insert_ord.c, e load.c.

Definizione alla linea 15 del file doublelist.c.

◆ DListIsEmpty()

bool DListIsEmpty ( const Item i)

La funzione DListIsEmpty() verifica se una lista è vuota.

Parametri
[in]iLista su cui eseguire la verifica.
Restituisce
true se la lista è vuota, false altrimenti.
Esempi
copy.c, insert_ord.c, e iterate.c.

Definizione alla linea 26 del file doublelist.c.

◆ DListWrite()

void DListWrite ( const Item i,
FILE *  f 
)

La funzione DListWrite() stampa la lista specificata su file. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi della lista, separati dai caratter ", ", e dal carattere "]". La stampa degli elementi dipende dalla definizione di ElemType.

Parametri
[in]iItem della lista da stampare su file: può essere NULL e non è necessario che sia l'Item in testa alla lista, la lista non viene modificata.
[in]fFILE * su cui stampare la lista.
Restituisce
Non ci sono valori di ritorno.

Definizione alla linea 106 del file doublelist.c.

◆ DListWriteStdout()

void DListWriteStdout ( const Item i)

La funzione DListWriteStdout() stampa la lista specificata su stdout. Nello specifico, la funzione stampa il carattere "[" seguito dagli elementi della lista, separati dai caratter ", ", e dal carattere "]". La stampa degli elementi dipende dalla definizione di ElemType.

Parametri
[in]iItem della lista da stampare su file: può essere NULL e non è necessario che sia l'Item in testa alla lista, la lista non viene modificata.
Restituisce
Non ci sono valori di ritorno.
Esempi
copy.c, insert_ord.c, e load.c.

Definizione alla linea 121 del file doublelist.c.