Red de conocimiento informático - Aprendizaje de código fuente - Estructuras de datos y programación de colas

Estructuras de datos y programación de colas

void init queue(LiQueue * & amp; preguntar)

{ q =(LiQueue *)malloc(sizeof(LiQueue));

q->; ; Rear-empty }//Inicialización

int QueueEmpty(LiQueue *q)

{ if (q-& gt; Rear = vacío)

Regresar 1;

Otros

Devolver 0;}//Juicio vacío

Cola vacía (LiQueue * & ampq, tipo de elemento e)

{ QNode * s;

s = (QNode *)malloc(sizeof(QNode));

s-& gt; s->siguiente = NULL

if (q->trasero = NULL)

q->frontal = q->trasero = s;

Otro

{ q->;rear->next = s;

q->;rear = s;

} }//Únete al equipo

int dequeue (LiQueue * & amp tipo de elemento & ampe)

{ QNode * t

If (q-> ;rear == vacío)

return 0;

t = q->frontal;

if (q->frontal == q->trasero)

q->;front = q-& gt;rear=empty;

Otro

q->;front = q ->front->next;

e = t->data;

free(t);

return 1;//Dequeue

int Dequeue(LiQueue * & amp tipo de elemento & ampe)

{ QNode * t

If (q->; rear = = vacío)

return 0;

t = q-& gt;front;

if (q->front = = q-& gt; rear)

q->; -& gt; trasero = vacío;

Otro

q->; frente = q- >cabeza->siguiente;

e = t- >data;break;

free(t);

return 1 ;}//Con el líder

Todos los números en la cola de salida se retiran de la cola.