public static bool IsCorrect(string str)
        {
            foreach (char ch in str)
            {
                if (ch == '(' || ch == '{' || ch == '[')
                {
                    stack.Push(ch);
                }
                else if (ch == ')' || ch == '}' || ch == ']')
                {
                    switch (ch)
                    {
                    case ')':
                        if (stack.Peek() == '(')
                        {
                            stack.Pop();
                        }
                        else
                        {
                            stack.Clear(); return(false);
                        }
                        break;

                    case '}':
                        if (stack.Peek() == '{')
                        {
                            stack.Pop();
                        }
                        else
                        {
                            stack.Clear(); return(false);
                        }
                        break;

                    case ']':
                        if (stack.Peek() == '[')
                        {
                            stack.Pop();
                        }
                        else
                        {
                            stack.Clear(); return(false);
                        }
                        break;
                    }
                }
            }
            return(stack.IsEmpty);
        }
Esempio n. 2
0
        public static void Update(GameTime gameTime)
        {
            scenesToUpdate.Clear();

            foreach (Scene scene in scenes)
            {
                scenesToUpdate.Push(scene);
            }

            bool otherSceneHasFocus  = false;
            bool coveredByOtherScene = false;

            // update all scenes in one update call
            while (!scenesToUpdate.IsEmpty)
            {
                Scene scene = scenesToUpdate.Pop();

                if (scene.State == SceneState.Active)
                {
                    scene.Update(gameTime, otherSceneHasFocus, coveredByOtherScene);

                    // let first scene handle input
                    if (!otherSceneHasFocus)
                    {
                        scene.HandleInput();
                        otherSceneHasFocus = true;
                    }

                    if (!scene.IsPopup)
                    {
                        coveredByOtherScene = true;
                    }
                }
            }
        }
Esempio n. 3
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);
            }

            
        }
Esempio n. 4
0
 private void button1_Click(object sender, EventArgs e)
 {
     stack.Clear();
     for (int i = 0; i < textBox1.Lines.Length; i++)
     {
         stack.PushStack(Convert.ToInt32(textBox1.Lines[i]));
     }
     textBox2.Lines = stack.Printer();
 }
Esempio n. 5
0
        public void Clear_stack()
        {
            MyStack <int> stack = new MyStack <int>();

            stack.Push(10);
            Assert.AreEqual(1, stack.Count_in_Array());
            stack.Clear();
            Assert.AreEqual(0, stack.Count_in_Array());
        }
        public void MyStack_NotEquals_OriginalStack()
        {
            Stack   originalStack = _stackService.CreateStack(new Stack()) as Stack;
            MyStack myStack       = _stackService.CreateStack(new MyStack()) as MyStack;

            myStack.Clear();

            Assert.NotEqual <object>(myStack, originalStack);
        }
Esempio n. 7
0
        public void StackContentShouldBeRemoved()
        {
            var stack = new MyStack();

            stack.Push(TEST_ELEMENT);
            stack.Clear();

            Assert.Zero(stack.Size());
        }
        public void TestMethodClear()
        {
            MyStack S = new MyStack();

            S.Push("1");
            S.Push("2");
            S.Push("3");
            S.Clear();
            Assert.AreEqual(0, S.Count());
        }
        public void Clears_Stack()
        {
            var stack = new MyStack <int> {
                1, 2, 3, 4, 5
            };
            int expected = 0;

            stack.Clear();
            int actual = stack.Count;

            Assert.AreEqual(expected, actual);
        }
Esempio n. 10
0
        public void StackClearTest()
        {
            var stack = new MyStack <int>();
            var rand  = new Random();

            for (int i = 0; i < 46; i++)
            {
                stack.Push(rand.Next(0, 1000));
            }

            Assert.AreEqual(46, stack.Count);
            stack.Clear();
            Assert.AreEqual(0, stack.Count);
        }
Esempio n. 11
0
        public void PushInStack46Elemets_StackClear_StackCountEquals0()
        {
            var stack = new MyStack <int>();
            var rand  = new Random();

            for (int i = 0; i < 46; i++)
            {
                stack.Push(rand.Next(0, 1000));
            }

            Assert.AreEqual(46, stack.Count);
            stack.Clear();
            Assert.AreEqual(0, stack.Count);
        }
Esempio n. 12
0
        public void ClearTest(List <int> source)
        {
            var stack = new MyStack <int>();

            foreach (var item in source)
            {
                stack.Push(item);
            }

            stack.Clear();
            var result = stack.ToList().Count;

            Assert.That(result, Is.EqualTo(0));
        }
Esempio n. 13
0
    static void Main(string[] args)
    {
        MyStack <int> stack = new MyStack <int>(0);

        stack.Push(11);
        stack.Push(133);
        stack.Push(100);
        stack.Push(8);

        stack.Show();
        stack.Pop();
        stack.Show();
        stack.Clear();
        stack.Show();
        // Check<MyStack<int>>.showArray(stack);
    }
Esempio n. 14
0
        private static void MyStackFunctionality()
        {
            var stack = new MyStack <int>();

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

            Console.WriteLine($"Peek result: {stack.Peek()}");
            Console.WriteLine($"Pop result: {stack.Pop()}");

            Console.WriteLine("Iteration result:");
            foreach (var item in stack)
            {
                Console.WriteLine(item);
            }

            stack.Clear();
            Console.WriteLine($"Stack was cleared and it's size: {stack.Count}");
        }
Esempio n. 15
0
        static void Main(string[] args)
        {
            var myStack = new MyStack <int>();

            myStack.Push(1);
            myStack.Push(2);
            myStack.Push(3);
            myStack.Push(4);
            Console.WriteLine("First:" + myStack.Peek());
            Console.WriteLine("Count:" + myStack.Count());
            Console.WriteLine("First:" + myStack.Pop());
            Console.WriteLine("Second:" + myStack.Pop());
            Console.WriteLine("Count:" + myStack.Count());
            myStack.Push(3);
            Console.WriteLine(myStack.Contains(5));
            Console.WriteLine("Count:" + myStack.Count());
            Console.WriteLine("First:" + myStack.Peek());
            myStack.Clear();
            Console.ReadKey();
        }
Esempio n. 16
0
        static void Main(string[] args)
        {
            MyLinkedList <int>    myLLInt       = new MyLinkedList <int>();
            MyLinkedList <Person> myLLPerson    = new MyLinkedList <Person>();
            MyStack <Person>      myStackPerson = new MyStack <Person>();
            Person vasya = new Person(12345, 32, "Vasya", "Netanya");
            Person moshe = new Person(54321, 29, "Moshe", "Lod");
            Person helen = new Person(32323, 43, "Helen", "Rehovot");
            Person shir  = new Person(67895, 16, "Shir", "Netanya");

            Person[] arrayPersons = new Person[4] {
                vasya, moshe, helen, shir
            };
            Console.WriteLine();
            Console.WriteLine("----------------------MyLinkedList<int> verification -----------------------");
            Console.WriteLine("----------- AddTail, AddHead, AddAfter, AddBefore verifications-----------");
            myLLInt.AddTail(25);
            myLLInt.AddHead(20);
            myLLInt.AddHead(15);
            myLLInt.AddAfter(myLLInt.Tail, 30);
            myLLInt.AddAfter(myLLInt.Tail.Prev, 27);
            myLLInt.AddBefore(myLLInt.Head, 10);
            myLLInt.AddAfter(myLLInt.Head.Next, 17);

            Console.WriteLine(myLLInt.ToString());
            Console.WriteLine();
            Console.WriteLine("---------------Contains, Find verifications -------------");
            Node <int> node = myLLInt.Head;

            for (int i = 0; i < myLLInt.Count; i++)
            {
                Console.WriteLine("Contains " + node.Data + " verification: " + myLLInt.Contains(node.Data));
                Console.WriteLine("Find " + node.Data + " verification: " + myLLInt.Find(node.Data).Equals(node));
                node = node.Next;
            }
            Console.WriteLine();
            Console.WriteLine("----------------- Remove verification ---------------------");
            myLLInt.RemoveHead();
            myLLInt.RemoveTail();
            myLLInt.Remove(myLLInt.Head.Next);
            myLLInt.Remove(myLLInt.Tail.Prev);
            Console.WriteLine(myLLInt);
            Console.WriteLine();
            Console.WriteLine("----------------- CopyTo verification --------------------");
            int[] arr = new int[7];
            myLLInt.CopyTo(arr, 2);
            for (int i = 0; i < arr.Length; i++)
            {
                Console.WriteLine(arr[i]);
            }
            Console.WriteLine();
            Console.WriteLine("---------------------foreach--LinkedList<Person>-----------------");

            myLLPerson.AddHead(vasya);
            myLLPerson.AddTail(moshe);
            myLLPerson.AddTail(helen);

            foreach (Person prs in myLLPerson)
            {
                Console.WriteLine(prs);
            }
            Console.WriteLine();
            Console.WriteLine("---------------------foreach--LinkedList<int>-----------------");
            foreach (int num in myLLInt)
            {
                Console.WriteLine(num);
            }
            Console.WriteLine();
            Console.WriteLine("--------------------- Stack Verification<Person>----------------");

            myStackPerson = fillMyStack(arrayPersons, myStackPerson);
            Console.WriteLine();
            Console.WriteLine("----------------------Peek() Pop() Verification-----------------");

            Console.WriteLine();
            int iterations = myStackPerson.Count;

            for (int i = 0; i < iterations; i++)
            {
                Console.WriteLine("Person: " + myStackPerson.Peek() + " : "
                                  + myStackPerson.Peek().Equals(myStackPerson.Pop()));
            }
            Console.WriteLine();
            Console.WriteLine("------------------------Capacity, Constructor with IEnumerable, foreach-----------------");
            myStackPerson = new MyStack <Person>(arrayPersons);
            myStackPerson = fillMyStack(arrayPersons, myStackPerson);
            myStackPerson = fillMyStack(arrayPersons, myStackPerson);

            Console.WriteLine("Count: " + myStackPerson.Count);
            foreach (Person person in myStackPerson)
            {
                Console.WriteLine(person);
            }

            Console.WriteLine();
            Console.WriteLine("------------------------Clear()-----------------------------");
            myStackPerson.Clear();
            foreach (Person person in myStackPerson)
            {
                Console.WriteLine(person);
            }
            myStackPerson.Push(vasya);
            myStackPerson.Push(moshe);
            foreach (Person person in myStackPerson)
            {
                Console.WriteLine(person);
            }



            /*Console.Writeln("----------------TrimExcees verification--------------");
             * Console.WriteLine("Capacity: " + myStackPerson.Capacity);
             * myStackPerson.TrimExcees();
             * Console.WriteLine("Capacity: " + myStackPerson.Capacity);*/
            //Console.WriteLine(myStackPerson.Peek());

            Console.WriteLine("----------------------Queue: Constructors verification-----------------------------------------------");
            Console.WriteLine();

            MyQueue <Person> myQ = new MyQueue <Person>(arrayPersons);

            foreach (Person prs in myQ)
            {
                Console.WriteLine(prs);
            }
            Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            MyQueue <Person> myQ2 = new MyQueue <Person>(3);
            MyQueue <int>    myQ3 = new MyQueue <int>();

            Console.WriteLine("MyQ2 - Count: " + myQ2.Count + " Capacity: " + myQ2.Capacity);
            Console.WriteLine("MyQ3 - Count: " + myQ3.Count + " Capacity: " + myQ3.Capacity);

            Console.WriteLine();
            Console.WriteLine("----------------------Queue: Enqueue, dequeue, peek, increasing capacity, treemExcees verification----------");
            Console.WriteLine();

            Console.WriteLine("---------MyQ2--------");
            Console.WriteLine("MyQ2 - Count: " + myQ2.Count + " Capacity: " + myQ2.Capacity);
            foreach (Person prs in arrayPersons)
            {
                myQ2.Enqueue(prs);
            }
            foreach (Person prs in myQ2)
            {
                Console.WriteLine(prs);
            }
            Console.WriteLine("MyQ2 - Count: " + myQ2.Count + " Capacity: " + myQ2.Capacity);
            Console.WriteLine("---------MyQ--------");
            Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            for (int i = 0; i < 4; i++)
            {
                Console.WriteLine("Iteration#" + i);
                Console.WriteLine("Peek/Enqueue/Dequeue: " + myQ.Peek());
                myQ.Enqueue(myQ.Dequeue());
                foreach (Person prs in myQ)
                {
                    Console.WriteLine(prs);
                }
                Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
                Console.WriteLine();
            }
            Console.WriteLine("Vasya was added, capacity has to be changed");
            myQ.Enqueue(vasya);
            Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            myQ.TrimExcees();
            Console.WriteLine("TreemExcees -> MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            Console.WriteLine();
            Console.WriteLine("----------------------Queue: Clear verification----------");
            Console.WriteLine();
            Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            foreach (Person prs in myQ)
            {
                Console.WriteLine(prs);
            }
            myQ.Clear();
            Console.WriteLine("MyQ - Count: " + myQ.Count + " Capacity: " + myQ.Capacity);
            foreach (Person prs in myQ)
            {
                Console.WriteLine(prs);
            }


            Console.ReadKey();
        }
Esempio n. 17
0
 public void ClearAllPanel()
 {
     mPanelStack.Peek()?.Hide();
     mPanelStack.Clear();
 }
Esempio n. 18
0
        static void MainMenu()
        {
            //Флаг правильности ввода
            bool ok = true;
            //Флаг завершения работы
            bool Finish = false;

            // Стек элементов иерархии
            MyStack <Challenge> ExamsStack = new MyStack <Challenge>();
            // Вспомогательная переменная для заполнения стека
            Random    rnd          = new Random();
            Challenge ElementToAdd = null;

            // Первоначальное заполнение стека
            for (ushort i = 0; i < 1000; i++)
            {
                switch (rnd.Next(4))
                {
                case 0:
                    ElementToAdd = new Challenge();
                    break;

                case 1:
                    ElementToAdd = new Test();
                    break;

                case 2:
                    ElementToAdd = new Exam();
                    break;

                case 3:
                    ElementToAdd = new GraduateExam();
                    break;
                }

                ExamsStack.Push(ElementToAdd);
            }

            Console.WriteLine("Успешно создан новый стек емкостью {0} с количеством элементов {1}.",
                              ExamsStack.Capacity, ExamsStack.Count);

            do
            {
                do
                {
                    Console.Clear();
                    //Вывод меню
                    Console.WriteLine();
                    Console.WriteLine("1 - Создание нового стека");
                    Console.WriteLine("2 - Печать стека");
                    Console.WriteLine("3 - Удалить элемент");
                    Console.WriteLine("4 - Добавить новый элемент");
                    Console.WriteLine("5 - Перевод в массив с помощью метода ToArray");
                    Console.WriteLine("6 - Перевод в массив с помощью метода CopyTo");
                    Console.WriteLine("7 - Клонирование коллекции");
                    Console.WriteLine("8 - Поиск элемента");
                    Console.WriteLine("9 - Выход");

                    //Выбор пункта меню и вызов соответствующих функций
                    int ChosenOption = Int32.Parse(Console.ReadLine());
                    Console.WriteLine();

                    switch (ChosenOption)
                    {
                    // Создание новой таблицы
                    case 1:

                        ExamsStack.Clear();
                        // Ввод количества элементов
                        int NumberToAdd = InputOutput.InputNumber(10, 1000);
                        ExamsStack = new MyStack <Challenge>(NumberToAdd);

                        for (ushort i = 0; i < NumberToAdd; i++)
                        {
                            switch (rnd.Next(4))
                            {
                            case 0:
                                ElementToAdd = new Challenge();
                                break;

                            case 1:
                                ElementToAdd = new Test();
                                break;

                            case 2:
                                ElementToAdd = new Exam();
                                break;

                            case 3:
                                ElementToAdd = new GraduateExam();
                                break;
                            }

                            ExamsStack.Push(ElementToAdd);
                        }

                        Console.WriteLine("Успешно создан новый стек емкостью {0} с количеством элементов {1}.",
                                          ExamsStack.Capacity, ExamsStack.Count);
                        ok = true;
                        break;

                    // Печать таблицы
                    case 2:
                        foreach (Challenge Element in ExamsStack)
                        {
                            Element.Show();
                        }
                        ok = true;
                        break;

                    // Удаление элемента
                    case 3:
                        ExamsStack.Pop();
                        Console.WriteLine("Последний элемент стека удален.");
                        ok = true;
                        break;

                    // Создание элемента
                    case 4:
                        // Тип создаваемого объекта
                        int Option = 0;
                        ChooseTypeMenu(out Option);

                        switch (Option)
                        {
                        case 1:
                            Console.Write("Введите ФИО студента: ");
                            string Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            ushort TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            ushort TasksDone = UInt16.Parse(Console.ReadLine());

                            ExamsStack.Push(new Challenge(Name, TasksTotal, TasksDone));
                            break;

                        case 2:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());

                            ExamsStack.Push(new Test(Name, TasksTotal, TasksDone));
                            break;

                        case 3:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите предмет, по которому был экзамен: ");
                            string Subject = Console.ReadLine();

                            ExamsStack.Push(new Exam(Name, Subject, TasksTotal, TasksDone));
                            break;

                        case 4:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите предмет, по которому был экзамен: ");
                            Subject = Console.ReadLine();
                            Console.Write("Введите учебное заведение, откуда выпускается студент: ");
                            string Organisation = Console.ReadLine();

                            ExamsStack.Push(new GraduateExam(Name, Subject, Organisation, TasksTotal, TasksDone));
                            break;
                        }

                        Console.WriteLine("Текущая емкость коллекции равна {0}, количество элементов равно {1}.", ExamsStack.Capacity, ExamsStack.Count);
                        ok = true;
                        break;

                    // Перевод в массив с помощью метода ToArray
                    case 5:
                        Challenge[] ExamsArray = ExamsStack.ToArray();
                        foreach (Challenge Element in ExamsArray)
                        {
                            Element.Show();
                        }
                        ok = true;
                        break;

                    // Перевод в массив с помощью метода CopyTo
                    case 6:
                        ExamsArray = new Challenge[ExamsStack.Count];
                        ExamsStack.CopyTo(ExamsArray, 0);
                        foreach (Challenge Element in ExamsArray)
                        {
                            Element.Show();
                        }
                        ok = true;
                        break;

                    // Клонирование стека
                    case 7:
                        MyStack <Challenge> ClonedStack = ExamsStack.Clone() as MyStack <Challenge>;
                        foreach (Challenge Element in ClonedStack)
                        {
                            Element.Show();
                        }

                        ok = true;
                        break;

                    // Поиск элемента по ключу
                    case 8:
                        Option = 0;
                        ChooseTypeMenu(out Option);

                        switch (Option)
                        {
                        case 1:
                            Console.Write("Введите ФИО студента: ");
                            string Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            ushort TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            ushort TasksDone = UInt16.Parse(Console.ReadLine());

                            bool contains = ExamsStack.Contains(new Challenge(Name, TasksTotal, TasksDone));
                            Console.WriteLine("В коллекции присутствует указанный элемент: {0}",
                                              ExamsStack.Contains(new Challenge(Name, TasksTotal, TasksDone)));
                            break;

                        case 2:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());

                            Console.WriteLine("В коллекции присутствует указанный элемент: {0}",
                                              ExamsStack.Contains(new Test(Name, TasksTotal, TasksDone)));
                            break;

                        case 3:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите предмет, по которому был экзамен: ");
                            string Subject = Console.ReadLine();

                            Console.WriteLine("В коллекции присутствует указанный элемент: {0}",
                                              ExamsStack.Contains(new Exam(Name, Subject, TasksTotal, TasksDone)));
                            break;

                        case 4:
                            Console.Write("Введите ФИО студента: ");
                            Name = Console.ReadLine();
                            Console.Write("Введите общее количество задач: ");
                            TasksTotal = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите количество решенных задач: ");
                            TasksDone = UInt16.Parse(Console.ReadLine());
                            Console.Write("Введите предмет, по которому был экзамен: ");
                            Subject = Console.ReadLine();
                            Console.Write("Введите учебное заведение, откуда выпускается студент: ");
                            string Organisation = Console.ReadLine();

                            Console.WriteLine("В коллекции присутствует указанный элемент: {0}",
                                              ExamsStack.Contains(new GraduateExam(Name, Subject, Organisation, TasksTotal, TasksDone)));
                            break;
                        }

                        ok = true;
                        break;

                    case 9:
                        Finish = ok = true;
                        break;

                    default:
                        ok = false;
                        break;
                    }
                } while (!ok);

                if (!Finish && ok)
                {
                    Console.WriteLine("Нажмите любую клавишу...");
                    Console.ReadKey();
                }
            } while (!Finish);
        }