cola de lenguaje C

Queue, una matriz FIFO o lista enlazada

queue.h

// 
// creado por GXF el 08/03/2020. 
// 

#ifndef UNTITLED_QUEUE_H 
#define UNTITLED_QUEUE_H 

initQueue void (); 
enqueue void (datos int); 
int dequeue (); 
int isFull (); 
int estaVacia (); 
anulará destroy (); 
void printQueue (); 

#endif // UNTITLED_QUEUE_H

queue.c

// 
// creado por GXF el 08/03/2020. 
// 
#include "queue.h" 
#include <stdio.h> 
#include <stdlib.h> 

int frente = 0; 
int trasera = 0; 
int * cola = NULL; 
int longitud = 100; 
int size = 0; 


void initQueue () { 
    cola = malloc (sizeof (int) * longitud); 
} 

Void enqueue (datos int) { 
    si (isFull ()) { 
        cola [trasero] = datos; 
        = traseras (trasera + 1)% de la longitud; 
        tamaño ++; 
    } 
    Demás 
        printf ( "cola está llena \ n"); 
} 

Int dequeue () { 
    si (estaVacia ()!) {
        Talla --; 
        int res = cola [frente];
        = frontales (frontal + 1)% de la longitud; 
        res regresar; 
    } 
    Printf ( "cola está vacía \ n"); 
} 

Int isFull () { 
    si (tamaño == longitud) 
        de retorno 1; 
    return 0; 
} 

Int estaVacia () { 
    si (tamaño == 0) 
        de regreso 1; 
    return 0; 
} 

Void destroy () { 
    si (cola) 
        libre (cola); 
} 

Void printQueue () { 
    while (estaVacia ()) { 
        printf ( "% d", quitar de la cola ()); 
    } 
    Printf ( "\ n"); 
}

main.c

// 
// creado por GXF el 08/03/2020. 
// 

#include "queue.h" 

int main () { 
    int a [5] = {4, 9, 2, 3, 1}; 
    initQueue (); 
    for (int i = 0; i <sizeof (a) / sizeof (int); i ++) { 
        enqueue (a [i]); 
    } 
    PrintQueue (); 
    destruir(); 
    
    
    return 0; 
}

  

Supongo que te gusta

Origin www.cnblogs.com/luckygxf/p/12444405.html
Recomendado
Clasificación