Pagina Principale | Lista dei namespace | Strutture dati | Lista dei file | Campi dei dati | Elementi globali

liste.cpp

Vai alla documentazione di questo file.
00001 /* Tennis Tournament Management System 2005 by Silvio Moioli
00002    and Davide Gottini (moio@tiscali.it, davide.gottini@virgilio.it). */
00003 #include "liste.h"
00004 
00005 /* Per i commenti sulle funzioni pubbliche e i loro i parametri (che sono 
00006   stati eliminati per  evitare inutili duplicazioni e spreco di spazio)
00007   si rimanda all'header  della libreria. */
00008 
00009 Lista* listeCreaLista(const void* primo){
00010     Lista* list = new Lista;
00011 
00012     if (primo == NULL){
00013         list->testa = NULL;
00014         list->coda = NULL;
00015         list->n = 0;
00016     }
00017     else {
00018         list->testa = new ElemLista;
00019         list->coda = list->testa;
00020         list->n = 1;
00021         list->testa->elemento = primo;
00022         list->testa->prossimo = NULL;
00023     }
00024     return list;
00025 }
00026 
00027 void listeDistruggiLista(Lista* l){
00028         if (l->n != 0){
00029         ElemLista* attuale = l->testa;
00030         ElemLista* prossimo;
00031         while (attuale != NULL){
00032             prossimo = attuale->prossimo;
00033             delete attuale;
00034             attuale = prossimo;
00035         }
00036     }
00037     delete l;
00038 }
00039 
00040 void listeAggiungiElemento(Lista* l, const void* elemento){
00041     if (l->n == 0){
00042         l->testa = new ElemLista;
00043         l->testa->elemento = elemento;
00044         l->testa->prossimo = NULL;
00045         l->coda = l->testa;
00046     }
00047     else {
00048         ElemLista* nuovo = new ElemLista;
00049         l->coda->prossimo = nuovo;
00050         nuovo->elemento = elemento;
00051         nuovo->prossimo = NULL;
00052         l->coda = nuovo;
00053     }
00054     l->n++;
00055 }
00056 
00057 const void* listeLeggiElemento(Lista* l, int i){
00058     ElemLista* supp = l->testa;
00059     for (int j = 0; j < i; j++){
00060         supp = supp->prossimo;
00061     }
00062     return supp->elemento;
00063 }
00064 
00065 void listeScriviElemento(Lista* l, int i, const void* elemento){
00066     ElemLista* supp = l->testa;
00067     for (int j = 0; j < i; j++){
00068         supp = supp->prossimo;
00069     }
00070     supp->elemento = elemento;
00071 }

Generato il Fri Jan 28 11:43:15 2005 per TennisTournament da doxygen 1.3.6