4 - A classe
Queue
(namespace System.Collections
)
implementa a estrutura de dados
queue/fila,
na qual a primeira coisa a ser inserida é a primeira a ser retirada. Objetos do
tipo Queue
podem ser instanciados com o construtor simples
Queue()
.
O método
Enqueue()
coloca um objeto no fim da fila, enquanto o método
Dequeue()
retira o primeiro objeto lá colocado. O método
ToArray()
copia todos os elementos da fila para um array e devolve esse array.
Cria um programa em C# que apresente um menu ao utilizador com quatro opções:
- Inserir string na fila
- Remover string da fila, imprimindo a mesma no ecrã
- Listar todas as string existentes na fila
- Sair
O menu deve ser apresentado em ciclo, e o programa só deve terminar quando o utilizador selecionar a opção 4.
using System;
using System.Collections;
namespace Exercises
{
class Program
{
static void Main(string[] args)
{
// Variables
Queue queue = new Queue();
byte input;
while (true)
{
// Shows the user all possible options
Console.WriteLine("1- Insert a string\n" +
"2- Remove a string\n" +
"3- Show all the strings saved\n" +
"4- Exit\n");
// Searches and saves the input of the user
input = Convert.ToByte(Console.ReadLine());
// Option to insert string
if (input == 1)
{
Console.WriteLine("Write the string you want to insert\n");
// Saves the string of the user
string newObject = Console.ReadLine();
// Sends the string and saves to the queue
queue.Enqueue(newObject);
}
// Option to remove string
else if (input == 2)
{
// Dequeues the first string
string rmdString = (string)queue.Dequeue();
// Shows the user the string removed
Console.WriteLine("Removed '{0}' from the queue", rmdString);
}
// Option to show all the strings
else if (input == 3)
{
// Shows the user every object in the queue
foreach (object aString in queue)
Console.WriteLine(aString);
}
// Option to exit the program
else if (input == 4) break;
// Detects if the user gave another input
else
Console.WriteLine("That's not a valid option\n");
}
}
}
}
Por André Vitorino