Pregunte a los expertos sobre la implementación de colas y pilas de estructuras de datos
/*La siguiente es una cola secuencial simple. La cola circular se puede modificar sobre esta base y es necesario agregar la estructura de la cadena*/
#includelt; ;
#define
TAMAÑO
50/*Longitud máxima de cola*/
#define
ELEMTYPE
float/*El tipo de elementos en la cola, que puede ser arbitrario*/
#define
N
55/ *deseado Si el número de elementos insertados en la cola es mayor que TAMAÑO, la parte mayor que TAMAÑO no se puede insertar*/
ELEMTYPE
queue[SIZE] /*cola secuencial; */ p>
int
cabeza, parte trasera, recuento;
void
init(){
cabeza =0;/ *Cabeza de la cola*/
rear=0; /*Cola de la cola*/
count=0; /
}
void
add(ELEMTYPE
e){/*Enqueue*/
if (countlt;TAMAÑO){ p>
cola[trasera]=e;
trasera;
cuenta;
}
else{
printf("La longitud de la cola es d\nNo se puede insertar, la cola está llena\n", TAMAÑO);
}
}
ELEMTYPE
del(){/*Dequeue*/
ELEMTYPE
temp;
if(count!=0){
ELEMTYPE
temp; p>
count--;
temp=queue[head]; p>
cabeza;
retorno
temp;
}
else{
printf( "La cola está vacía\n");
return
0 ;
}
}
ELEMTYPE
getHead(){/*Obtiene el elemento principal de la cola, solo su valor, no Dequeue*/
if(count!=0)
return
cola[head];
else{
printf("La cola está vacía\n");
return
0;
}
} p>
int
empty(){/*Empty No, verdadero si la cola es vacío*/
return
count==0 ;
}
void
main(){
int
i;
init();
for(i=0;ilt;N;i){ p>
add((ELEMTYPE)i);
}
printf("El elemento principal de la cola es: f\n", getHead()); que el formato de salida coincida con ELEMTYPE*/
while(!empty()){
printf("f\n", del() /*Tenga en cuenta que al generar, mantenga el formato de salida correspondiente al tipo de datos de la cola*/
}
}