ayuda con colas
Necesito que alguien me ayude a crear el codigo en C para las funciones de una cola: Crear cola, cola vacia, cola llena, meter cola, sacar cola, visualizar cola.
Se los ruego, ayudenme amigos
Gracias.
Se los ruego, ayudenme amigos
Gracias.
Aqui tengo este codigo, espero que te sirva de algo, esta en lenguaje C pero no creo que tengas problemas al pasarlo a C++.
/*Implementacion de una cola simple*/
#include "stdio.h"
#include "conio.h"
#define N 3
void insertar(int [N], int*, int);
int sacar(int [N], int*, int*);
void imprimir(int [N], int, int);
main()
{
int frente=-1, final=0;
int cola[N]={0}, num, op;
do{
clrscr();
printf("ttOperaciones de la colasn");
printf("tttInsertar....1n");
printf("tttSacar.......2n");
printf("tttImprimir....3n");
printf("tttSalir.......4n");
printf("tttOpcion...."); scanf("%d", &op);
switch(op){
case 1: printf("ntElemento a insertar :");
scanf("%d", &num);
insertar(cola, &frente, num);
break;
case 2: num=sacar(cola, &frente, &final);
if (num == -9999){
printf("nntCola Vacia");
frente=-1;
final=0;
}
else
printf("ntElemento sacado : %d", num);
getch();
break;
case 3: imprimir(cola, frente, final);
getch();
break;
}
}while(op!=4);
getch();
return 0;
}
void insertar(int cola[N], int *frente, int numero)
{
if (*frente > N)
printf("nntCola llena");
else{
(*frente)++;
cola[*frente]=numero;
}
}
int sacar(int cola[N], int *frente, int *final)
{
int num;
if (*final > *frente)
return -9999;
else{
num=cola[*final];
(*final)++;
return num;
}
}
void imprimir(int cola[N], int frente, int final)
{
if (final > frente)
printf("nntCola vacia");
else{
printf("nElemetos en la Cola :n");
for (final=final; final<=frente; final++)
printf("ttt%dn",cola[final]);
}
}
/*Implementacion de una cola simple*/
#include "stdio.h"
#include "conio.h"
#define N 3
void insertar(int [N], int*, int);
int sacar(int [N], int*, int*);
void imprimir(int [N], int, int);
main()
{
int frente=-1, final=0;
int cola[N]={0}, num, op;
do{
clrscr();
printf("ttOperaciones de la colasn");
printf("tttInsertar....1n");
printf("tttSacar.......2n");
printf("tttImprimir....3n");
printf("tttSalir.......4n");
printf("tttOpcion...."); scanf("%d", &op);
switch(op){
case 1: printf("ntElemento a insertar :");
scanf("%d", &num);
insertar(cola, &frente, num);
break;
case 2: num=sacar(cola, &frente, &final);
if (num == -9999){
printf("nntCola Vacia");
frente=-1;
final=0;
}
else
printf("ntElemento sacado : %d", num);
getch();
break;
case 3: imprimir(cola, frente, final);
getch();
break;
}
}while(op!=4);
getch();
return 0;
}
void insertar(int cola[N], int *frente, int numero)
{
if (*frente > N)
printf("nntCola llena");
else{
(*frente)++;
cola[*frente]=numero;
}
}
int sacar(int cola[N], int *frente, int *final)
{
int num;
if (*final > *frente)
return -9999;
else{
num=cola[*final];
(*final)++;
return num;
}
}
void imprimir(int cola[N], int frente, int final)
{
if (final > frente)
printf("nntCola vacia");
else{
printf("nElemetos en la Cola :n");
for (final=final; final<=frente; final++)
printf("ttt%dn",cola[final]);
}
}
