Soluciones del ejercicio de estructura de datos C... La computadora genera 20 números enteros aleatorios con un máximo de 100 en tiempo real.
(Aplicación de cola en cadena)
#include
#include
#include
estructura val
{
int datos;
estructura val *nodo;
};
typedef struct val li;
typedef li *lin;
lin linQ[3];
void InitQueue(); //inicializar
lin EnQueue(lin lina,int data); //En la cola
int EmptyQueue(lin lina); //Está vacío
int QueueLength(lin lina); //Longitud de la cola
void DeQueue(lin lina, int len,int i); //fuera de la cola void main()
{
int len); ;
int datos;
int cola;
InitQueue();
for(len=0;len<20;len ++)
{
data=rand()%100;
Cola=data%3;
if(Cola< 3)
linQ[Queue]=EnQueue(linQ[Queue],data);
} for(len=0;len<3;len++)
{
data=QueueLength(linQ[len]);
if(EmptyQueue(linQ[len]))
DeQueue(linQ[len], data.len);
else
printf("NULL");
}
getch();
}
void InitQueue()
{ int len;
for(len=0;len<.3;len++)
linQ[len]=NULL;
srand((unsigned int)time(NULL));
}lin EnQueue(lin lina,int data)
{
lin mery;
lin linb;
mery=(lin)malloc(sizeof(li));
mery->datos=datos;
mery->nodo=NULL;
if(! meory)
{
return NULL; } if(!lina)
{
return mery;
}
linb=lina; while(linb->nodo!=NULL)
linb=linb-> ;linb->nodo=meoria; p>
ret
urna lina;
}
int EmptyQueue(lin lina)
{
if(lina)
devolver 1;
devolver 0;
}
int QueueLength(lin lina)
{
int len=0;
linb;
linb=lina;
while(linb!=NULL)
{
len++;
linb=linb->nodo;
}
devolver len;
}
void DeQueue(lin lina,int len,int i)
{
linb;
linb=lina;
printf ("Un total de %d se puede dividir exactamente por 3 más que %d Números aleatorios:\n/n",len,i);
while(linb!= NULL)
{
printf("%d ",linb->datos);
linb=linb->nodo;
}
printf("\n\n");
}