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

Filas e Pilhas

lista pilha button3 button4

numE

nomE
numSF numSP

nomeS
button1 total1 total2

public partial class Form1 : Form


{
// Criação da Fila
Queue<String> senhasF = new Queue<String>();

// Criação da Pilha
Stack<String> senhasP = new Stack<String>();

int contE = 1;
int contSF = 0;
int contSP = 0;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
// Adiciona um valor à Fila
senhasF.Enqueue(nomeE.Text);

// Adiciona um valor à Pilha


senhasP.Push(nomeE.Text);

// Incrementa e escreve o n. da senha


contE++;
numE.Text = contE.ToString();

ver();
}

void ver()
{
// Limpa a 1ª ListBox (de nome Lista)
lista.Items.Clear();

// Carrega na 1ª ListBox os valores da Fila


for (int x = 0; x < senhasF.Count; x++)
lista.Items.Add(senhasF.ElementAt(x));
// Apresenta o numero de valores da Fila
total1.Text = senhasF.Count.ToString() + " senha(s)";

// Limpa a 2ª ListBox (de nome Pilha)


pilha.Items.Clear();

// Carrega na 2ª ListBox os valores da Pilha


for (int x = 0; x < senhasP.Count; x++)
pilha.Items.Add(senhasP.ElementAt(x));

// Apresenta o numero de valores da Pilha


total2.Text = senhasP.Count.ToString() + " senha(s)";
}

private void button3_Click(object sender, EventArgs e)


{
// Que botão foi selecionado
button3.BackColor = Color.Green;
button4.BackColor = Color.Yellow;

// Incrementa o contador das senhas


contSF++;
numSF.Text = contSF.ToString();

// Escreve o nome do utilizador


nomeS.Text = senhasF.ElementAt(0);

// Eliminar um valor da Fila


senhasF.Dequeue();

// Atualizar a ListBox da Fila


ver();
}

private void nomeE_MouseClick(object sender, MouseEventArgs e)


{
nomeE.Clear();
}

private void button4_Click(object sender, EventArgs e)


{
// Que botão foi selecionado
button3.BackColor = Color.Yellow;
button4.BackColor = Color.Green;

// Incrementa o contador das senhas


contSP++;
numSP.Text = contSP.ToString();

// Escreve o nome do utilizador


nomeS.Text = senhasP.ElementAt(0);

// Eliminar um valor da Fila


senhasP.Pop();

// Atualizar a ListBox da Fila


ver();
}

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