static void Main(string[] args) { MyStack <string> carsStack = new MyStack <string>(); carsStack.Push("Ford"); carsStack.Push("Daewoo"); carsStack.Push("Opel"); carsStack.Push("BMW"); foreach (var item in carsStack) { Console.WriteLine(item); } Console.WriteLine(); string header = carsStack.Peek(); Console.WriteLine("The Peek of the stack : " + header); Console.WriteLine(); header = carsStack.Pop(); foreach (var item in carsStack) { Console.WriteLine(item); } }
static void Main() { MyStack <int> numbers = new MyStack <int>(); for (int i = 0; i < 20; i++) { numbers.Push(i); } for (int i = 0; i < 10; i++) { Console.WriteLine("Deleted from stack - {0}", numbers.Pop()); } // Display the stack foreach (var number in numbers) { Console.WriteLine(number); } numbers.Clear(); try { Console.WriteLine("Peek at top element: "); numbers.Peek(); } catch (InvalidOperationException e) { Console.WriteLine(e.Message); } }
static void Main(string[] args) { List <string> list = new List <string> { "Bewba", "Boomer", "Bronsky", "Bobert", "Booger" }; MyStack <string> stack = new MyStack <string>(list.Count); foreach (var x in list) { stack.Push(x); Console.WriteLine($"Current stack peek: {stack.Peek()}"); } Console.WriteLine($"\n\nStack count: {stack.Count}\n"); for (int i = 0; i < list.Count; i++) { Console.WriteLine($"Stack Count: {stack.Count}, Element: {stack.Pop()}"); } Console.WriteLine("\n\n\n\n"); //foreach(var x in ss) //{ // //Console.WriteLine(x); // switch(x) // { // case "ME": // Console.WriteLine($"this element contains: {ss[4]}"); // break; // } //} Clone clone = new Clone(); clone.Id = 2; clone.Programs.Push("Delta Force"); clone.Programs.Push("213123"); clone.Programs.Push("Bananoid"); clone.Programs.Push("32423"); clone.Programs.Pop(); Console.WriteLine($"{clone.Programs.Peek()}"); var s = "ME IS CHIEF OF BEWBA TRIBE"; var ss = s.Split(' '); switch (ss[3]) { case "OF": clone.Programs.Push(ss[2]); Console.WriteLine(clone.Programs.Pop()); break; } }
public static void Main() { var testStack = new MyStack <int>(); for (int i = 0; i < 10; i++) { testStack.Push((i + 1) * 5); Console.WriteLine("At position {0}. is inserted {1}", i, testStack.Peek()); } var lastElement = testStack.Pop(); Console.WriteLine("{0} was removed from the stack", lastElement); Console.WriteLine("The number of elemnents in the satck is {0} and last one is {1}", testStack.Count, testStack.Peek()); }
public F(int n) { var stack = new MyStack <int>(n); int num = n; while (stack.Count() != n) { if (num > 0) { stack.Push(num--); Console.WriteLine(stack.Peek()); } } while (!stack.IsEmpty()) { Console.WriteLine(stack.Pop().ToString()); } }
static void Main(string[] args) { MyStack <int> stack = new MyStack <int>(); for (int i = 0; i < 10; i++) { stack.Push(i); } Console.WriteLine(stack.Count); Console.WriteLine(stack.Peek()); while (stack.Count > 0) { Console.WriteLine(stack.Pop()); } }
static void Main(string[] args) { System.Diagnostics.Stopwatch watch, watch1, watch2; long elapsedMs; int N = 1000000; var mystack = new MyStack <int>(N); var stack = new Stack <int>(); watch = System.Diagnostics.Stopwatch.StartNew(); watch1 = System.Diagnostics.Stopwatch.StartNew(); for (int i = 0; i != N; i++) { stack.Push(i); } watch1.Stop(); watch2 = System.Diagnostics.Stopwatch.StartNew(); for (int i = 0; i != N; i++) { stack.Pop(); } watch2.Stop(); watch.Stop(); elapsedMs = watch1.ElapsedMilliseconds; Console.WriteLine("Stack: PushTime - {0} ms", elapsedMs); elapsedMs = watch2.ElapsedMilliseconds; Console.WriteLine("Poptime - {0} ms", elapsedMs); elapsedMs = watch.ElapsedMilliseconds; Console.WriteLine("Fulltime - {0} ms", elapsedMs); Console.WriteLine(); Console.ReadKey(); watch = System.Diagnostics.Stopwatch.StartNew(); watch1 = System.Diagnostics.Stopwatch.StartNew(); for (int i = 0; i != N; i++) { mystack.Push(i); } watch1.Stop(); watch2 = System.Diagnostics.Stopwatch.StartNew(); for (int i = 0; i != N; i++) { mystack.Pop(); } watch2.Stop(); watch.Stop(); elapsedMs = watch1.ElapsedMilliseconds; Console.WriteLine("MyStack: PushTime - {0} ms;", elapsedMs); elapsedMs = watch2.ElapsedMilliseconds; Console.WriteLine("Poptime - {0} ms;", elapsedMs); elapsedMs = watch.ElapsedMilliseconds; Console.WriteLine("Fulltime - {0} ms.", elapsedMs); var f = new F(3); /////////////////// Обратная польская запись void ReversePolish(string notOPZstr) { MyStack <char> myStack2 = new MyStack <char>(); string result = string.Empty; for (var i = 0; i < notOPZstr.Length; i++) { if (char.IsNumber(notOPZstr[i])) { if (i != 0 && !char.IsNumber(notOPZstr[i - 1])) { result += ' '; } result += notOPZstr[i]; } else { switch (notOPZstr[i]) { case '(': myStack2.Push(notOPZstr[i]); break; case ')': { while (myStack2.Peek() != '(' && SignPrioritet(myStack2.Peek()) >= SignPrioritet(notOPZstr[i])) { result += $" {myStack2.Peek()}"; myStack2.Pop(); } myStack2.Pop(); break; } default: { while (!myStack2.IsEmpty() && SignPrioritet(myStack2.Peek()) >= SignPrioritet(notOPZstr[i])) { result += $" {myStack2.Peek()}"; myStack2.Pop(); } myStack2.Push(notOPZstr[i]); break; } } } } while (!myStack2.IsEmpty()) { result += $" {myStack2.Peek()}"; myStack2.Pop(); } Console.WriteLine(result); } int SignPrioritet(char sign) { int priority = 0; switch (sign) { case '^': priority = 3; break; case '*': priority = 2; break; case '/': priority = 2; break; case '+': priority = 1; break; case '-': priority = 1; break; } return(priority); } Console.ReadKey(); }
//Will crash if no element in it //It should crash in this case private void btnPeek_Click(object sender, EventArgs e) { tbShowLastValue.Text = ms.Peek(); }