示例#1
0
void desembarque(Pilha* p){   
   Fila* f = getfila();
   while(!pilha_vazia(p)){
      Mala* m = pilha_pop(p);
      fila_insere(f,m);     
   }
   imprime_fila(f);
   pilha_libera(p);
   fila_libera(f);
   printf("\nDesembarque Realizado com Sucesso!\n");
}
示例#2
0
void separa_filas (Fila* f, Fila* f_prioridade, Fila* f_convencional)
{
  Lista* l = f->ini;
  
  if (!fila_vazia(f))
    {
      while (l != NULL)
	{	  
	  if ((2015 - l->info) >= 65)
	    {
	      fila_insere(f_prioridade, l->info);
	    }
	  else
	    {	  
	      fila_insere(f_convencional, l->info);
	    }
	  l = l->prox;
	}
    }
}
示例#3
0
int main (void)
{
  Fila* f = fila_cria();
  Fila* f_p = fila_cria();
  Fila* f_c = fila_cria();
  
  fila_insere(f, 2004); 
  fila_insere(f,1905);
 
  separa_filas(f, f_p, f_c);
  printf("prioridade:%f\n", f_p->ini->info);
  printf("convencional:%f\n", f_c->ini->info);
  fila_libera(f);
  
  free(f->ini);
  free(f->fim);
  free(f);
  
  return 0;
}
示例#4
0
Fila* arq_leCaminhamentoPreordem (FILE *fp, infotype *contador){

    Fila* f = fila_criavazia();
    infotype valor = 0;

    while (!feof(fp)){

        /* Lemos o valor do arquivo, inserimos na fila, e incrementamos o tamanho */
        fscanf (fp, "%d\n", &valor);

        fila_insere (f, valor);

        *contador = *contador + 1;

    }

    /* Retornamos a fila com todos os elementos do arquivo do percorrimento preordem */
    return f;

}