Red de conocimiento informático - Consumibles informáticos - (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.

(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/Departamento de Contabilidad de la Universidad de Hunan/

#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;

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