static void Main(string[] args)
        {
            MyStack <int> st1 = new MyStack <int>();

            st1.Add(3);
            for (int i = 0; i < st1.GetCount(); i++)
            {
                Console.WriteLine(st1.Get(i).ToString());
            }
            Console.ReadLine();
            st1.Add(4);
            for (int i = 0; i < st1.GetCount(); i++)
            {
                Console.WriteLine(st1.Get(i).ToString());
            }
            Console.ReadLine();
            st1.Add(5);
            for (int i = 0; i < st1.GetCount(); i++)
            {
                Console.WriteLine(st1.Get(i).ToString());
            }
            Console.ReadLine();

            st1.Pop();
            st1.Pop();
            st1.Pop();
            st1.Pop();

            for (int i = 0; i < st1.GetCount(); i++)
            {
                Console.WriteLine(st1.Get(i).ToString());
            }
        }
        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 #3
0
        static void Main(string[] args)
        {
            MyStack <string> mystack = new MyStack <string>();

            Console.WriteLine(mystack.Size);
            //System.Console.WriteLine(mystack.Top());

            mystack.IO = "first";
            mystack.IO = "second";

            Console.WriteLine(mystack);
            Console.WriteLine((int)mystack);

            mystack.IO = "third";
            mystack.IO = "fourth";

            while (!mystack)
            {
                Console.WriteLine(mystack.PopEx());
                // mystack.Pop();
            }

            mystack.Pop();
            Console.WriteLine(mystack);
            Console.ReadKey();
        }
Exemple #4
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);
            }
        }
Exemple #5
0
        public static void Main()
        {
            var input = Console.ReadLine().Trim().Split();

            var stack = new MyStack <string>();

            while (input[0] != "END")
            {
                switch (input[0])
                {
                case "Push":
                    stack.Push(input.Skip(1).Select(i => i.Trim(',', ' ')).ToArray());
                    break;

                case "Pop":
                    stack.Pop();
                    break;
                }

                input = Console.ReadLine().Trim().Split();
            }

            for (int i = 0; i < 2; i++)
            {
                foreach (var item in stack)
                {
                    Console.WriteLine(item);
                }
            }
        }
        public static void Main()
        {
            string        input;
            MyStack <int> stack = new MyStack <int>();

            while ((input = Console.ReadLine()) != "END")
            {
                var args = input.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);

                var command = args[0];
                switch (command)
                {
                case "Push":
                    stack.Push(args.Skip(1).Select(int.Parse));
                    break;

                case "Pop":
                    try
                    {
                        stack.Pop();
                    }
                    catch (ArgumentException ae)
                    {
                        Console.WriteLine(ae.Message);
                    }
                    break;
                }
            }

            Console.WriteLine(string.Join(Environment.NewLine, stack));
            Console.WriteLine(string.Join(Environment.NewLine, stack));
        }
Exemple #7
0
        static void Main(string[] args)
        {
            MyStack <int> myStack = new MyStack <int>(20);
            Node <int>    e1      = new Node <int>(1);

            myStack.Push(e1);
            Node <int> e2 = new Node <int>(2);

            myStack.Push(e2);
            Node <int> e3 = new Node <int>(3);

            myStack.Push(e3);
            //print stack
            Console.WriteLine("myStack: " + Environment.NewLine + string.Join(Environment.NewLine, myStack.GetStack()));
            //pop
            int retVal = myStack.Pop();

            Console.WriteLine("Popped value: " + retVal);
            //print stack again
            Console.WriteLine("myStack: " + Environment.NewLine + string.Join(Environment.NewLine, myStack.GetStack()));

            //search - true
            Console.WriteLine(myStack.Search(e1.value));
            //search - false
            Console.WriteLine(myStack.Search(e3.value));

            Console.ReadLine();
        }
        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;
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            MyStack <int> a = new MyStack <int>();

            a.Push(5);
            a.Push(6);
            a.Push(7);
            a.Print();
            Console.WriteLine(a.Pop());
            a.Print();
        }
Exemple #10
0
        static void Main(string[] args)
        {
            MyStack <string> collection = new MyStack <string>();



            while (true)
            {
                string input = Console.ReadLine();
                if (input == "END")
                {
                    break;
                }

                string[] line    = input.Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries);
                string   command = line[0];

                try
                {
                    if (command == "Push")
                    {
                        for (int i = 1; i < line.Length; i++)
                        {
                            collection.Push(line[i]);
                        }
                    }


                    else if (command == "Pop")
                    {
                        collection.Pop();
                    }
                }



                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            foreach (var item in collection)
            {
                Console.WriteLine(item);
            }
            foreach (var item in collection)
            {
                Console.WriteLine(item);
            }
        }
Exemple #11
0
        static void Main(string[] args)
        {
            MyStack stack = new MyStack();

            stack.Push(1);
            stack.Push(5);
            stack.Push(8);
            Console.WriteLine($"Count={stack.Count}");
            stack.Pop();
            stack.Push(5);
            stack.Push(8);
            stack.Clear();
            stack.Push(14);
            stack.Push(5);
            stack.Push(8);
            stack.Push(5);
            stack.Push(")");
            stack.Push(")");
            stack.Push(8);
            stack.Pop();
            stack.Pop();
            Console.WriteLine($"Top={stack.Top()}");
            stack.Pop();
        }
        static void Main(string[] args)
        {
            MyStack <int> numbers = new MyStack <int>();


            for (int i = 0; i < 10; i++)
            {
                numbers.Push(i);
            }

            for (int i = 0; i < 10; i++)
            {
                Console.Write(numbers.Pop() + " ");
            }
            Console.WriteLine();
        }
        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());
        }
        static void Main(string[] args)
        {
            MyStack <int> myStack = new MyStack <int>();

            while (true)
            {
                string inputComand = Console.ReadLine();

                if (inputComand == "END")
                {
                    break;
                }

                if (inputComand.StartsWith("Push"))
                {
                    var itemsToPush = inputComand
                                      .Substring(inputComand.IndexOf(" ") + 1)
                                      .Split(", ");

                    foreach (var item in itemsToPush)
                    {
                        myStack.Push(int.Parse(item));
                    }
                }

                else if (inputComand.StartsWith("Pop"))
                {
                    if (!myStack.Any())
                    {
                        Console.WriteLine("No elements");
                        continue;
                    }

                    myStack.Pop();
                }
            }

            for (int i = 0; i < 2; i++)
            {
                foreach (var item in myStack)
                {
                    Console.WriteLine(item);
                }
            }
        }
Exemple #15
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 #16
0
        static void Main(string[] args)
        {
            MyStack <int> s1 = new MyStack <int>();

            s1.Push(3);
            s1.Push(4);
            s1.Push(1);
            PrintStack(s1);
            s1.Push(-2);
            s1.Push(341);
            s1.Pop();
            //PrintStack(s1);
            foreach (int item in s1)
            {
                Console.Write(item + " ");
            }
            Console.WriteLine();
        }
Exemple #17
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 #18
0
        static void Main(string[] args)
        {
            MyStack <int> myStack = new MyStack <int>();

            string line;

            while ((line = Console.ReadLine()) != "END")
            {
                try          // опитай да изпълниш този код
                {
                    string[] input   = line.Split(new string[] { ", ", " " }, StringSplitOptions.RemoveEmptyEntries);
                    string   command = input[0];

                    switch (command)
                    {
                    case "Push":
                        List <int> elements = input.Skip(1).Select(int.Parse).ToList();
                        foreach (var item in elements)
                        {
                            myStack.Push(item);
                        }
                        break;

                    case "Pop":                 // вместо Try-Catch може да сложим проверка преди да изпълним Pop()
                        myStack.Pop();
                        break;
                    }
                }
                catch (InvalidOperationException e) // catch (Exception e) - ще прихваща и отпечатва всички грешка
                                                    // catch (InvalidOperationException e) - можем да конкретизираме типа на грешката, който да прихваща
                {
                    Console.WriteLine(e.Message);   // отпечатва съобщението на грешката
                }
            }
            foreach (var item in myStack)
            {
                Console.WriteLine(item);
            }

            foreach (var item in myStack)
            {
                Console.WriteLine(item);
            }
        }
Exemple #19
0
        static void Main(string[] args)
        {
            var myStack = new MyStack <int>();

            var command = Console.ReadLine();

            while (command != "END")
            {
                var input  = command.Split();
                var action = input[0];

                if (action == "Push")
                {
                    var data    = command.Substring(5);
                    var numbers = data.Split(", ").Select(int.Parse).ToList();

                    for (int i = 0; i < numbers.Count; i++)
                    {
                        myStack.Push(numbers[i]);
                    }
                }
                else if (action == "Pop")
                {
                    try
                    {
                        myStack.Pop();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }

                command = Console.ReadLine();
            }

            for (int i = 0; i < 2; i++)
            {
                foreach (var item in myStack)
                {
                    Console.WriteLine(item);
                }
            }
        }
Exemple #20
0
        static void Main(string[] args)
        {
            MyStack <int> stack = new MyStack <int>();

            string commandInput = Console.ReadLine();

            while (commandInput != "END")
            {
                string[] tokens = commandInput.Split(new string[] { " ", "," }, StringSplitOptions.RemoveEmptyEntries);

                string command = tokens[0];

                if (command == "Push")
                {
                    foreach (var item in tokens.Skip(1))
                    {
                        stack.Push(int.Parse(item));
                    }
                }
                else if (command == "Pop")
                {
                    if (stack.Count == 0)
                    {
                        Console.WriteLine("No elements");
                    }
                    else
                    {
                        stack.Pop();
                    }
                }

                commandInput = Console.ReadLine();
            }
            foreach (int i in stack)
            {
                Console.WriteLine(i);
            }
            foreach (int i in stack)
            {
                Console.WriteLine(i);
            }
        }
        static void Main(string[] args)
        {
            MyStack <int> mystack = new MyStack <int>();

            string comandInput = Console.ReadLine();

            while (comandInput != "END")
            {
                string[] comandData = comandInput.Split(new string[] { ", ", " " }, StringSplitOptions.RemoveEmptyEntries);
                string   comand     = comandData[0];

                if (comand == "Push")
                {
                    for (int i = 1; i < comandData.Length; i++)
                    {
                        int item = int.Parse(comandData[i]);
                        mystack.Push(item);
                    }
                }
                else if (comand == "Pop")
                {
                    try
                    {
                        mystack.Pop();
                    }
                    catch (InvalidOperationException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }


                comandInput = Console.ReadLine();
            }

            foreach (var item in mystack)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine(string.Join(Environment.NewLine, mystack));
        }
Exemple #22
0
        static void Main(string[] args)
        {
            MyStack stack = new MyStack(5);

            stack.Push(5);
            stack.Push(4);
            stack.Push(3);
            stack.Push(2);
            stack.Push(1);

            Console.WriteLine("1. Size of stack after push operations: " + stack.Size);
            Console.WriteLine("2. Pop elements from stack : ");

            while (!stack.IsEmpty())
            {
                Console.WriteLine(stack.Pop());
            }

            Console.WriteLine("\n3. Size of stack after pop operations : " + stack.Size);
        }
Exemple #23
0
        static void Main(string[] args)
        {
            MyStack <int> stack = new MyStack <int>();

            string input = Console.ReadLine();

            while (input != "END")
            {
                string[] commands = input.Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries).ToArray();

                string command = commands[0];

                if (command == "Push")
                {
                    for (int i = 1; i < commands.Length; i++)
                    {
                        stack.Push(int.Parse(commands[i]));
                    }
                }
                else if (command == "Pop")
                {
                    try
                    {
                        stack.Pop();
                    }
                    catch (InvalidOperationException e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }

                input = Console.ReadLine();
            }

            foreach (var item in stack)
            {
                Console.WriteLine(item);
            }

            Console.WriteLine(string.Join(Environment.NewLine, stack));
        }
        static void Main(string[] args)
        {
            MyStack <string> myStack = new MyStack <string>();

            string input = Console.ReadLine();

            while (input != "END")
            {
                string[] tokens  = input.Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries);
                string   command = tokens[0];
                if (command == "Push")
                {
                    foreach (var item in tokens.Skip(1))
                    {
                        myStack.Push(item);
                    }
                }
                if (command == "Pop")
                {
                    if (myStack.Count != 0)
                    {
                        myStack.Pop();
                    }
                    else
                    {
                        Console.WriteLine("No elements");
                    }
                }

                input = Console.ReadLine();
            }
            foreach (var item in myStack)
            {
                Console.WriteLine(item);
            }
            foreach (var item in myStack)
            {
                Console.WriteLine(item);
            }
        }
Exemple #25
0
        static void Main(string[] args)
        {
            MyStack <int> stack1 = new MyStack <int>(3);

            Console.WriteLine(stack1.stack.Length);
            Console.WriteLine(stack1.IsEmpty());
            stack1.PrintStack();
            stack1.Push(8);
            stack1.PrintStack();
            Console.WriteLine(stack1.Count);
            Console.WriteLine(stack1.Size);
            stack1.Push(6);

            stack1.PrintStack();
            stack1.Pop();
            Console.WriteLine(stack1.Count);

            Console.WriteLine(stack1.IsEmpty());
            stack1.PrintStack();

            Console.WriteLine(stack1.Count);
        }
        static void Main(string[] args)
        {
            MyStack <int> myStack = new MyStack <int>();

            string[] command = Console.ReadLine().Split(new string[] { " ", ", " }, StringSplitOptions.RemoveEmptyEntries);

            while (command[0] != "END")
            {
                if (command[0] == "Push")
                {
                    for (int i = 1; i < command.Length; i++)
                    {
                        myStack.Push(int.Parse(command[i].Substring(0, command[i].Length)));
                    }
                }
                else if (command[0] == "Pop")
                {
                    try
                    {
                        myStack.Pop();
                    }
                    catch (InvalidOperationException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }

                command = Console.ReadLine().Split();
            }

            for (int i = 0; i < 2; i++)
            {
                foreach (int item in myStack)
                {
                    Console.WriteLine(item);
                }
            }
        }
Exemple #27
0
        static void Main(string[] args)
        {
            var    myStack = new MyStack <int>();
            string input;

            while ((input = Console.ReadLine()) != "END")
            {
                var cmdArg = input.Split(' ', 2);
                if (cmdArg[0] == "Push")
                {
                    var elements = cmdArg[1].Split(", ").Select(int.Parse).ToArray();
                    myStack.Push(elements);
                }
                else if (cmdArg[0] == "Pop")
                {
                    myStack.Pop();
                }
            }
            for (int i = 0; i < 2; i++)
            {
                Console.WriteLine(string.Join(Environment.NewLine, myStack));
            }
        }
        public static void Main()
        {
            MyStack <int> myStack = new MyStack <int>();
            string        input;

            while ((input = Console.ReadLine()) != "END")
            {
                var cmdArgs = input.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
                var cmd     = cmdArgs[0];
                var args    = cmdArgs.Skip(1).Select(int.Parse).ToArray();
                switch (cmd)
                {
                case "Push":
                    myStack.Push(args);
                    break;

                case "Pop":
                    try
                    {
                        myStack.Pop();
                    }
                    catch (ArgumentException e)
                    {
                        Console.WriteLine(e.Message);
                    }

                    break;

                case "END":
                    return;
                }
            }
            foreach (var stack in myStack)
            {
                Console.WriteLine(stack);
            }
        }
Exemple #29
0
        static void Main(string[] args)
        {
            MyStack <String> stack = new MyStack <string>();

            stack.Push("Prvi string");
            stack.Push("Drugi string");
            Console.WriteLine(stack.Pop());
            Console.WriteLine(stack.Pop());
            Console.WriteLine();

            stack.Push("Novi Prvi string");
            stack.Push("Novi Drugi string");
            stack.Push("Novi Treci string");
            stack.Push("Novi Cetvrti string");

            Console.WriteLine(stack.Pop());
            Console.WriteLine(stack.Pop());
            Console.WriteLine(stack.Pop());
            Console.WriteLine(stack.Pop());

            Console.ReadKey();
        }
Exemple #30
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();
        }