using static System.Console;
using System.Collections.Generic;
public class Program {
public static void Main() {
WriteLine("<Pilha>");
var minhaPilha = new Stack<string>();
minhaPilha.Push("Primeira");
minhaPilha.Push("Segunda");
minhaPilha.Push("Terceira");
minhaPilha.Push("Quarta");
WriteLine("Para add itens, selecione X");
WriteLine();
WriteLine("Para remover itens, selecione Z");
WriteLine();
WriteLine("Caso queira remover um dado especifico digite W");
var opc = ReadLine();
foreach (var carta in minhaPilha) WriteLine(carta);
if (opc == "Z") {
WriteLine();
minhaPilha.Pop();
foreach (var carta in minhaPilha) WriteLine(carta);
}
if (opc == "X") {
WriteLine("Digite aqui:");
minhaPilha.Push(ReadLine());
WriteLine();
foreach (var carta in minhaPilha) WriteLine(carta);
}
if (opc == "W") {
WriteLine("Qual elemento:");
var selecionado = ReadLine();
var novaPilha = new Stack<string>();
var totalItens = minhaPilha.Count;
for (var i = 0; i < totalItens; i++) {
if (minhaPilha.Peek() == selecionado) {
minhaPilha.Pop();
break;
} else {
novaPilha.Push(minhaPilha.Pop());
}
}
totalItens = novaPilha.Count;
for (var i = 0; i < totalItens; i++) minhaPilha.Push(novaPilha.Pop());
foreach (var carta in minhaPilha) WriteLine(carta);
}
WriteLine();
}
}
//https://pt.stackoverflow.com/q/84091/101