Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using d1; // Импортираме пространството от имена на динамичната библиотека
- namespace t1
- {
- // Клас за представяне на тестовата програма
- class Program
- {
- // Метод за стартиране на програмата
- static void Main(string[] args)
- {
- // Тестваме функцията за сортиране на масив по метода на мехурчето
- TestBubbleSort();
- // Тестваме функцията за намиране на факториел от дадено число рекурсивно
- TestFactorial();
- // Тестваме функциите за работа със стек
- TestStack();
- // Тестваме функциите за работа с опашка
- TestQueue();
- // Тестваме функциите за работа със списък
- TestList();
- // Тестваме функциите за работа с дърво
- TestTree();
- // Тестваме функциите за работа с речник
- TestDictionary();
- }
- // Метод за тестване на функцията за сортиране на масив по метода на мехурчето
- static void TestBubbleSort()
- {
- Console.WriteLine("Тестване на функцията за сортиране на масив по метода на мехурчето:");
- int[] array = { 5, 3, 7, 1, 9, 4, 2, 6, 8 }; // Създаваме масив с произволни числа
- Console.WriteLine("Масивът преди сортирането:");
- PrintArray(array); // Извеждаме масивът преди сортирането
- Algorithm.BubbleSort(array); // Сортираме масивът по метода на мехурчето
- Console.WriteLine("Масивът след сортирането:");
- PrintArray(array); // Извеждаме масивът след сортирането
- Console.WriteLine();
- }
- // Метод за извеждане на елементите на масив
- static void PrintArray(int[] array)
- {
- foreach (int element in array) // Обхождаме всички елементи на масива
- {
- Console.Write(element + " "); // Извеждаме текущия елемент, разделен с интервал
- }
- Console.WriteLine(); // Превъртаме нов ред
- }
- // Метод за тестване на функцията за намиране на факториел от дадено число рекурсивно
- static void TestFactorial()
- {
- Console.WriteLine("Тестване на функцията за намиране на факториел от дадено число рекурсивно:");
- int n = 5; // Задаваме произволно число
- Console.WriteLine("Числото е: " + n); // Извеждаме числото
- int result = Algorithm.Factorial(n); // Намираме факториела от числото
- Console.WriteLine("Факториелът от числото е: " + result); // Извеждаме резултата
- Console.WriteLine();
- }
- // Метод за тестване на функциите за работа със стек
- static void TestStack()
- {
- Console.WriteLine("Тестване на функциите за работа със стек:");
- Stack<int> stack = new Stack<int>(10); // Създаваме нов стек с капацитет 10
- Console.WriteLine("Добавяме елементи в стека:");
- for (int i = 1; i <= 5; i++) // Добавяме пет елемента в стека
- {
- Console.WriteLine("Добавяме " + i);
- stack.Push(i);
- }
- Console.WriteLine("Взимаме елемента на върха на стека без да го премахваме:");
- Console.WriteLine("Елементът е: " + stack.Peek());
- Console.WriteLine("Премахваме елементи от стека:");
- while (!stack.IsEmpty()) // Докато стекът не е празен
- {
- Console.WriteLine("Премахваме " + stack.Pop()); // Премахваме елемент от стека и го извеждаме
- }
- Console.WriteLine();
- }
- // Метод за тестване на функциите за работа с опашка
- static void TestQueue()
- {
- Console.WriteLine("Тестване на функциите за работа с опашка:");
- Queue<int> queue = new Queue<int>(10); // Създаваме нова опашка с капацитет 10
- Console.WriteLine("Добавяме елементи в опашката:");
- for (int i = 1; i <= 5; i++) // Добавяме пет елемента в опашката
- {
- Console.WriteLine("Добавяме " + i);
- queue.Enqueue(i);
- }
- Console.WriteLine("Взимаме елемента в началото на опашката без да го премахваме:");
- Console.WriteLine("Елементът е: " + queue.Peek());
- Console.WriteLine("Премахваме елементи от опашката:");
- while (!queue.IsEmpty()) // Докато опашката не е празна
- {
- Console.WriteLine("Премахваме " + queue.Dequeue()); // Премахваме елемент от опашката и го извеждаме
- }
- Console.WriteLine();
- }
- // Метод за тестване на функциите за работа със списък
- static void TestList()
- {
- Console.WriteLine("Тестване на функциите за работа със списък:");
- List<int> list = new List<int>(); // Създаваме нов списък
- Console.WriteLine("Добавяме елементи в началото и в края на списъка:");
- for (int i = 1; i <= 5; i++) // Добавяме пет елемента в началото и в края на списъка
- {
- Console.WriteLine("Добавяме " + i + " в началото");
- list.AddFirst(i);
- Console.WriteLine("Добавяме " + (i + 5) + " в края");
- list.AddLast(i + 5);
- }
- Console.WriteLine("Взимаме елементите в началото и в края на списъка без да ги премахваме:");
- Console.WriteLine("Елементът в началото е: " + list.GetFirst());
- Console.WriteLine("Елементът в края е: " + list.GetLast());
- Console.WriteLine("Премахваме елементи от началото и от края на списъка:");
- while (!list.IsEmpty()) // Докато списъкът не е празен
- {
- Console.WriteLine("Премахваме " + list.RemoveFirst() + " от началото"); // Премахваме елемент от началото и го извеждаме
- if (!list.IsEmpty()) // Ако списъкът не е празен
- {
- Console.WriteLine("Премахваме " + list.RemoveLast() + " от края"); // Премахваме елемент от края и го извеждаме
- }
- }
- Console.WriteLine();
- }
- // Метод за тестване на функциите за работа с дърво
- static void TestTree()
- {
- Console.WriteLine("Тестване на функциите за работа с дърво:");
- Tree<int> tree
- // Създаваме ново дърво
- Tree<int> tree = new Tree<int>();
- Console.WriteLine("Добавяме корен на дървото:");
- Console.WriteLine("Добавяме 1");
- tree.AddRoot(1); // Добавяме корен със стойност 1
- Console.WriteLine("Добавяме деца към корена на дървото:");
- Console.WriteLine("Добавяме 2");
- tree.AddChild(tree.GetRoot(), 2); // Добавяме дете със стойност 2 към корена
- Console.WriteLine("Добавяме 3");
- tree.AddChild(tree.GetRoot(), 3); // Добавяме дете със стойност 3 към корена
- Console.WriteLine("Добавяме 4");
- tree.AddChild(tree.GetRoot(), 4); // Добавяме дете със стойност 4 към корена
- Console.WriteLine("Добавяме деца към първото дете на корена:");
- Console.WriteLine("Добавяме 5");
- tree.AddChild(tree.GetChild(tree.GetRoot(), 0), 5); // Добавяме дете със стойност 5 към първото дете на корена
- Console.WriteLine("Добавяме 6");
- tree.AddChild(tree.GetChild(tree.GetRoot(), 0), 6); // Добавяме дете със стойност 6 към първото дете на корена
- Console.WriteLine("Взимаме второто дете на първото дете на корена без да го премахваме:");
- Console.WriteLine("Елементът е: " + tree.GetChild(tree.GetChild(tree.GetRoot(), 0), 1).Value);
- Console.WriteLine("Премахваме второто дете на първото дете на корена:");
- Console.WriteLine("Премахваме " + tree.RemoveChild(tree.GetChild(tree.GetRoot(), 0), 1));
- Console.WriteLine("Премахваме корена на дървото:");
- Console.WriteLine("Премахваме " + tree.RemoveRoot());
- Console.WriteLine();
- }
- // Метод за тестване на функциите за работа с речник
- static void TestDictionary()
- {
- Console.WriteLine("Тестване на функциите за работа с речник:");
- Dictionary<string, int> dictionary = new Dictionary<string, int>(10); // Създаваме нов речник с капацитет 10
- Console.WriteLine("Добавяме двойки ключ-стойност в речника:");
- dictionary.Add("one", 1); // Добавяме двойка с ключ "one" и стойност 1
- dictionary.Add("two", 2); // Добавяме двойка с ключ "two" и стойност 2
- dictionary.Add("three", 3); // Добавяме двойка с ключ "three" и стойност 3
- dictionary.Add("four", 4); // Добавяме двойка с ключ "four" и стойност 4
- dictionary.Add("five", 5); // Добавяме двойка с ключ "five" и стойност 5
- Console.WriteLine("Взимаме стойностите по зададени ключове от речника без да ги премахваме:");
- Console.WriteLine("Стойността за ключа \"one\" е: " + dictionary.Get("one"));
- Console.WriteLine("Стойността за ключа \"three\" е: " + dictionary.Get("three"));
- Console.WriteLine("Стойността за ключа \"five\" е: " + dictionary.Get("five"));
- Console.WriteLine("Премахваме двойки ключ-стойност от речника по зададени ключове:");
- Console.WriteLine("Премахваме двойката с ключ \"two\" и стойност " + dictionary.Remove("two"));
- Console.WriteLine("Премахваме двойката с ключ \"four\" и стойност " + dictionary.Remove("four"));
- Console.WriteLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement