Desktop/Daniele/Program Editing/Progetto di informatica 2/componenti/listadoppia.cpp

00001 
00002 #include "listadoppia.h"
00003 
00004 /*di seguito vi sono le definizioni dei metodi della classe listadoppia che mi
00005 serve come appoggio alla codifica*/
00006 
00007 
00008 listadoppia::listadoppia()
00009 {
00010 p0 = 0;
00011 p1 = 0;
00012 numelem = 0;
00013 }
00014 
00015 listadoppia::~listadoppia()
00016 {
00017 elem* p;
00018 while (p0 != 0)
00019       {
00020       p = p0;
00021       p0 = p0 -> succ;
00022       delete p;
00023       }
00024 }
00025 
00026 void listadoppia::inserisci(int n) //inserisce in coda
00027 {
00028 elem* p = new elem;
00029 if (p == 0) throw "memoria";
00030 p -> info = n;
00031 p -> succ = 0;
00032 p -> prec = p1;
00033 if (p1 != 0)
00034    p1 -> succ = p;
00035 if (p1 == 0)
00036    p0 = p;
00037 p1 = p;
00038 numelem++;
00039 }
00040 
00041 int listadoppia::estrai() //estrae in testa
00042 {
00043 if (numelem == 0) "critico";
00044 elem* p = p0;
00045 int n = p0 -> info;
00046 p0 = p0 -> succ;
00047 if (p0 != 0)    p0 -> prec = 0;
00048 else p1 = 0;
00049 delete p;
00050 numelem--;
00051 return n;
00052 }
00053 
00054 int listadoppia::numero() //restituisce numelem per mantenere
00055 { return numelem; }       // l'occultamento dell'informazione
00056 

Generated on Sat May 20 14:57:56 2006 for Huffzip by  doxygen 1.4.6-NO