Buscar

Funções para manipulação de filas em C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Leve em consideração, também, a existência de um tipo abstrato fila de números inteiros,
cuja a interface é definida no arquivo fila.h da seguinte forma:
typedef struct fila TFila;
TFila* inicializa (void);
TFila* insere (TFila *f, int elem);
int retira (TFila *f);
void libera (TFila *f);
int vazia (TFila *f);
Q1) Implemente uma função que crie uma cópia de uma fila, passada como parâmetro de
entrada. A função não deve alterar a fila de entrada e deve ter o seguinte protótipo: 
TFila* Copia (Tfila *f).
Q2) Implemente uma função que receba três filas, f, impares e pares (todas já
inicializadas), e separe todos os valores guardados em f de tal forma que os valores pares
são colocados na fila pares e os valores ímpares na impares. Ao final da execução desta
função, f permanecerá com todos os seus elementos. O protótipo desta função é o
seguinte: 
void separa_filas(TFila* f, TFila* par, TFila* impar).
Q3) Implemente uma função que, dada uma fila de entrada p, retorne uma fila com todos
os elementos de p ordenados de maneira crescente. Ao final da execução desta função, p
permanecerá com todos os seus elementos. O protótipo desta função é o seguinte: 
TFila* Ordena (TFila *p).
Q4) Escreva uma função que devolva o comprimento (ou seja, o número de elementos)
de uma fila.
Q5) Escreva uma função que remove um item com informação i fornecida pelo usuário da
Fila. Ao final da execução da função a Fila deve ser igual à original, exceto pela ausência
do item i removido. 
Q6) Escreva um programa que tenha uma fila cujos elementos possuem um campo inteiro
representando sua prioridade. Quanto menor o valor deste campo, maior a prioridade do 
elemento. Insira n elementos com prioridades diversas na fila e depois divida a fila em
duas, uma com elementos cuja prioridade é menor ou igual ao valor p fornecido pelo
usuário e outra com os elementos restantes. 
Q7) Escreva um programa que simule o controle de uma pista de decolagem de aviões
em um aeroporto. Neste programa, o usuário deve ser capaz de realizar as seguintes
tarefas: 
a) Listar o número de aviões aguardando na fila de decolagem; 
b) Autorizar a decolagem do primeiro avião da fila; 
c) Adicionar um avião à fila de espera; 
d) Listar todos os aviões na fila de espera; 
e) Listar as características do primeiro avião da fila. 
Considere que os aviões possuem um nome e um número inteiro com o identificador.
Adicione outras características conforme achar necessário.

Continue navegando

Outros materiais