Cola de estructura de datos (lenguaje C)
Requisitos:
(1) Diseñar un tipo de datos abstracto que utilice el puntero y el contador del encabezado de la cola para crear una cola circular secuencial, que incluya: inicialización, ingreso a la cola, eliminación de la cola y toma del elemento del encabezado de la cola para determinar. si la cola no está vacía ;
#include?"stdio.h"
#include?"malloc.h"
#include?"stdlib. .h"
#include?"conio.h"
#define?
typedef?struct
{
int?data[ MAX];
int?frontal,trasero;
int?num;
}SeQue;
SeQue?*Init_SeQue()
{
SeQue?*s;
s=new?SeQue;
s-> delantero=s->trasero= MAX-1;
s->num=0;
retorno?s;
}
int?Empty_SeQue(SeQue? *s)
{
if(s->num==0)
retorno?;
else
return?0;
}
int?In_SeQue(SeQue?*s,int?x)
{
if(s->num==MAX)
¿regresar?
else
{? s->trasero=(s ->trasero+1)%MAX;
s->datos[s->trasero]=x;
s->num++; p>
regresar? 1;
}?
}?
int?Out_SeQue(SeQue?*s,int?*x) p>
{
if(Empty_SeQue(s)
¿regresar?;
else
{
s->frente= (s->frente+1)%MAX;
*x=s->datos[s->frente];
s->núm --;
¿regresar?;
}
}
void?Print_SeQue(SeQue?* s)
{
int?i,n;
i=(s->frente+1)%MAX;
n=s->num;
while(n>0)
{?printf("%d?",s->datos[i]); +1)%MAX;
n--;
}
}
void?main()
{
SeQue?*s;
int?k,flag,x;
s=Init_SeQue()
do{
printf("\\\\");
printf("\\\t\\\t\\\t\\t Cola secuencial circular\") ;
printf("\\\t\\t\\t\t************************\") ;
printf("Entra en el equipo**\");
printf("Entra en el equipo**\");
printf("Entra
fuera del equipo**\");
printf("¿Juez? ¿Equipo? ");
scanf("%d",&x);
flag=In_SeQue(s,x);
if(flag==0)
printf("¡La cola está llena y no se puede ingresar! Presione cualquier tecla para regresar. Presione Cualquier clave devuelve...");
getch();
system("cls");
break;
case?:
flag=Out_SeQue(s,&x);
if(flag==0)
printf("(¡Error al borrar la cola! Presione cualquier tecla para regresar..."Presione cualquier tecla para regresar...");
getch();
system("cls");
romper;
caso?:
flag=Empty_SeQue(s);
if(flag==1)
printf ("¡La cola está vacía! ! Presione cualquier tecla para regresar..."Presione cualquier tecla para regresar...");
getch();
system("cls ");
getch();
system("cls");
p>romper;
caso?:
printf("/Los elementos de esta cola son:");
Print_SeQue(s);
printf("/Presione cualquier tecla para regresar.. .");
getch();
system("cls");
romper;
}
}mientras(k!=0);
}