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); }
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; } } } }
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); } }
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(); }
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); }
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); }
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); }
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); }
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)); }
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); }
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}"); }
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(); }
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(); }
public void ClearAllPanel() { mPanelStack.Peek()?.Hide(); mPanelStack.Clear(); }
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); }