INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE GOIÁS – CAMPUS GOIÂNIA – GO. ENGENHARIA DE CONTROLE E AUTOMAÇÃO ESTRUTURAS DE DADOS Prof. MSc. Raphael Gomes (raphael@ifg.edu.br) Lista de Exercícios 08 – Fila 1. Duas filas, ou uma pilha e uma fila podem também ser alocadas no mesmo vetor com o mesmo grau de eficiência? Por quê ? 2. Escreva um procedimento para inverter a ordem dos elementos de uma fila, usando uma pilha como estrutura auxiliar. 3. Escrever um algoritmo para verificar se um dado item está presente em uma fila. Em caso positivo, o algoritmo deve fornecer também a posição do item na fila, considerando a frente como posição 1. A fila deve permanecer a mesma após a execução do procedimento. 4. O problema de Josephus, consiste de um grupo de soldados sitiados pelo exército inimigo. Não há chance de vitória sem que cheguem reforços, mas só há um cavalo disponível para poder buscar reforço. Os soldados concordam com um pacto para determinar qual deles irá buscar ajuda. Eles formam uma circunferência e cada um coloca num chapéu um papel contendo um número aleatório e outro com seu nome. Aí é sorteado um número e um nome. Começando do soldado, cujo nome foi sorteado eles começam a contar no sentido horário em volta da circunferência. O soldado em que terminar a contagem do número sorteado é removido da circunferência. Um outro número aleatório é sorteado e inicia-se novamente a contagem, só que agora é a partir do homem seguinte ao que saiu. O processo continua removendo um homem de cada vez. O último homem que restar é o que irá fugir no cavalo para buscar ajuda. Desenvolva uma aplicação em C que simule o problema de Josephus usando uma fila.
“O seu mundo é uma expressão viva de como você está usando e tem usado a sua mente.” (Earl Nightingale)