(1) Diseñar una secuencia de caracteres o una cola en cadena.
2. Escriba programas para entrar y salir de la cola, leer el elemento principal y mostrar todos los elementos de la cola.
#include
#include
# define MAXSIZE 100
typedef char DataType;
typedef struct
{DataType elem [MAXSIZE];
int front,rear;
} SeQueue ;
void addq (SeQueue *Q ,DataType x)
{
if((Q->trasero+1)%MAXSIZE==Q- > frontal) printf("¡La cola está LLENA!\n");
else{Q->trasero=(Q->trasero+1)%MAXSIZE;Q->elem[Q->trasero] = x; }
}
Tipo de datos delq(SeQueue *Q)
{if(Q->front==Q->trasero)
{ printf("¡La cola está VACÍA!\n"); return (-1);}
else{Q->front=(Q->front+1)%MAXSIZE; ( Q->elem[Q->front]);}
}
Tipo de datos frontal(SeQueue *Q)
{Tipo de datos x;
if(Q->front==Q->rear){printf("¡La cola está VACÍA!\n"); return (-1);}
else x=Q-> elem [(Q->front+1)%MAXSIZE];
return(x);
}
main()
{
int elección ;Tipo de datos x,y;SeQueue Q;int i;
Q.rear=-1; > printf("\nIngrese i="); /*Ingrese un número distinto de cero para continuar*/
scanf("%d",&i);
while(i ){printf ("\n Subsistema de cola\n");
printf("*************************** ** ************************\n");
printf("* 1-----Ingrese el team*\n" );
printf("* 2-----Dequeue*\n");
printf("* 3-----Lea el elemento principal de la cola*\ n");
printf("* 4-----display*\n");
printf("* 0-----Salir*\n");
printf("******************** ******************************\n");
printf("Por favor, introduzca su elección ( 0,1,2,3,4)");scanf("%d",&choice);
cambiar(opción)
{
caso 1:{
printf("Ingrese el elemento x=");
scanf(" %c",&x);
addq (&Q , x );
}ruptura;
caso 2:{ delq(&Q) ;printf( " %c ",Q.elem[Q.front]);} ruptura; p>
caso 3:{y=front(&Q) ;printf("%c",y);}break;
caso 4:{for(i=(Q .front+1 )%MAXSIZE;i<=Q.rear;i++)printf("%c ",Q.elem[i]);}break;
caso 0:exit(0);
}
}
fin