Вы находитесь на странице: 1из 1

Atividade Avaliativa

Estrutura de Dados: FILA


Professor: Robson Locatelli
19 de dezembro de 2018

1 Estrutura de Dados Fila


Você foi encarregado de implementar um sistema de gerência de fila de aten-
dimento de um determinado Banco financeiro. Considere a existência de um
Tipo Abstrato de Dado (TAD) para representar uma Fila de números reais,
cuja interface está definida pelo arquivo fila.h a seguir:
1 typedef struct fila Fila ;
2

3 Fila * fila_cria ( void ) ;


4 void fila_insere ( Fila * f , float v ) ;
5 float fila_retira ( Fila * f ) ;
6 int fila_vazia ( Fila * f ) ;
7 void fila_imprime ( Fila * f ) ;
8 void fila_libera ( Fila * f ) ;

Sem conhecer a representação interna desse tipo abstrato e usando apenas as


funções declaradas no arquivo de interface, implemente uma função que receba
três filas, fRes, f1 e f2, e transfira alternadamente os valores de f1 e f2
para fRes, conforme ilustrado no quadro em sala de aula.
Note que, ao final da execução as filas f1 e f2 deverão estar vazias e a
fila fRes vai conter todos os valores que estavam originalmente em f1 e f2
(inicialmente fRes pode ou não estar vazia).
A função deve considerar filas de diferentes tamanhos. Caso uma fila seja
maior que a outra, os valores excedentes devem ser transferidos para a nova
fila no final. Ao final, o programa deve exibir as 3 filas atualizadas, antes de
liberá-las.
A função para combinar as filas deve obedecer ao protótipo:

1 void combina_filas ( Fila * fRes , Fila * f1 , Fila * f2 ) ;

Вам также может понравиться