Baixe o app para aproveitar ainda mais
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.
Compartilhar