static void Main(string[] args) { CustomStack <int> myStack = new CustomStack <int>(); string input = Console.ReadLine(); while (input != "END") { if (input == "Pop") { try { myStack.Pop(); } catch (IndexOutOfRangeException exception) { Console.WriteLine(exception.Message); } } else { int[] numbers = input .Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries) .Skip(1) .Select(int.Parse) .ToArray(); myStack.Push(numbers); } input = Console.ReadLine(); } for (int i = 0; i < 2; i++) { foreach (var item in myStack) { Console.WriteLine(item); } } }
static void Main(string[] args) { string command; CustomStack <string> stack = new CustomStack <string>(); while ((command = Console.ReadLine()) != "END") { string[] elements = command .Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries); if (elements[0] == "Pop") { if (stack.Count > 0) { stack.Pop(); } else { Console.WriteLine("No elements"); } } else if (elements[0] == "Push") { foreach (var item in elements.Skip(1).ToArray()) { stack.Push(item); } } } foreach (var item in stack) { Console.WriteLine(item); } foreach (var item in stack) { Console.WriteLine(item); } }
static void Main(string[] args) { CustomStack stack = new CustomStack(); string cmd = Console.ReadLine(); while (cmd != "END") { string[] commands = cmd.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); switch (commands[0]) { case "Push": stack.Push(commands.Skip(1).Select(int.Parse).ToArray()); break; case "Pop": try { stack.Pop(); } catch (InvalidOperationException) { Console.WriteLine("No elements"); } break; default: break; } cmd = Console.ReadLine(); } foreach (int n in stack) { Console.WriteLine(n); } Console.WriteLine(string.Join(Environment.NewLine, stack)); }
private static CustomStack <int> GetStack() { var customStack = new CustomStack <int>(); string input; while ((input = Console.ReadLine()) != "END") { var inputTokens = input .Split(" ,".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .ToList(); var command = inputTokens[0]; try { switch (command) { case "Push": var elements = inputTokens.Skip(1).Select(int.Parse).ToList(); foreach (var element in elements) { customStack.Push(element); } break; case "Pop": customStack.Pop(); break; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(customStack); }
public static void Main() { var stack = new CustomStack <string>(); string command = Console.ReadLine(); while (command != "END") { string[] tokens = command.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries); switch (tokens[0]) { case "Push": var itemsToPush = tokens.Skip(1); foreach (var item in itemsToPush) { stack.Push(item); } break; case "Pop": try { stack.Pop(); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); } break; } command = Console.ReadLine(); } PrintStack(stack); }