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);
            }
        }
Exemple #2
0
        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());
        }
Exemple #5
0
Fichier : F.cs Projet : nAglTI/pr1
        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());
            }
        }
Exemple #6
0
        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());
            }
        }
Exemple #7
0
        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();
        }
Exemple #8
0
 //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();
 }