Struttura dati coda 2

Posted on 28. Apr, 2006 by Administrator in cpp, tutorials


In questo articolo tratteremo la struttura dati coda

typedef struct cella
{
int dato;
struct cella *next;
}CELLA;

typedef struct coda
{
CELLA *front;
CELLA *rear;
}CODA;

Crea la coda

CODA *crea_coda()
{
CODA *c;
c=(CODA *)malloc(sizeof(CODA));
c->front=NULL;
c->rear=NULL;
return c;
}

Dice se è vuota

int vuota(CODA *c)
{
if((c->front=c->rear)==NULL)return 1;
else return 0;
}

Dice se è piena

int piena(CODA *c)
{
return 0;
}

Inserisce

int enqueue(CODA *c,int d)
{
if(vuota(c))
c->front=c->rear=(CELLA*)malloc(SIZEOF(CELLA));
else
{
c->rear->next=(CELLA *)malloc(sizeof(CELLA));
c->rear=c->rear->next;
}
c->rear->dato=d;
c->rear->next=NULL;
return 1;
}

Inserisce

int dequeue(CODA *c,int *d)
{
CODA *ptr;
if(vuota(c))return 0;
else
{
*d=c->front->dato;
ptr=c->front;
c->front=c->front->next;
free(ptr);
return d;
}
}

 


Correlati

Leave a reply