• Viernes 29 de Marzo de 2024, 08:16

Autor Tema:  Cola  (Leído 2120 veces)

ponchado

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Cola
« en: Lunes 13 de Marzo de 2017, 00:04 »
0
AYUDAcomo le hago para que me pida los valores, me vaya mostrando los datos agregados y la cola



#include <stdio.h>

#define MAX_SIZE 50


struct tcola
{
  int elems;
  int entrada, salida;
  int elementos[MAX_SIZE];
};


//Creación:

void crear(struct tcola *cola)
{
  cola->elems = cola->salida = cola->entrada = 0;
}

//Función que devuelve verdadero si la cola está vacía:

int vacia(struct tcola *cola)
{
  return (cola->elems == 0);
}

//Función que devuelve verdadero si la cola está llena:

int llena(struct tcola *cola)
{
  return (cola->elems == MAX_SIZE);
}

//Encolado:

void encolar(struct tcola *cola, int elem)
{
  cola->elems++;
  cola->elementos[cola->entrada++] = elem;
  if (cola->entrada == MAX_SIZE)
    cola->entrada = 0;
}

//Desencolado:

void desencolar(struct tcola *cola, int *elem)
{
  cola->elems--;
  *elem = cola->elementos[cola->salida++];
  if (cola->salida == MAX_SIZE)
    cola->salida = 0;
}



int main(void)
{
  struct tcola cola;
  int elem;

  crear(&cola);
  if (vacia(&cola)) printf("\nCola vacia.");
  if (llena(&cola)) printf("\nCola llena.");
  encolar(&cola, 1);
  desencolar(&cola, &elem);
  return 0;
}