ЛР №2

Інформація про навчальний заклад

ВУЗ:
Вінницькій національний технічний університет
Інститут:
О
Факультет:
інформаційних технологій та комп ютерної інженерії
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Теорiя алгоритмiв i математичнi основи представленння знань

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Вінницький національний технічний університет Факультет інформаційних технологій та комп’ютерної інженерії Кафедра комп’ютерних наук Лабораторна робота № 2 З дисципліни: “Теорія алгоритмів” Мета роботи: Реалізувати dequeue, стек, очередь. Завдання для виконання Варіант 1 Очередь - это контейнер, типа “первый вошел, первый вышел” (FIFO). То есть, вы помещаете вещь в конец, а получаете ее с другого конца. Таким образом, порядок, в котором вы помещаете вещи в контейнер, остается тем же самым, в котором они выходят. LinkedList имеет методы для поддержки поведения очереди, так что он может быть использован для создания класса Queue. Реализуйте это. Реализуйте стек с помощью LinkedList Реализуйте дек с помощью LinkedList Создайте генератор, который производит символьные имена ваших любимых фильмов (вы можете использовать "Матрица" или "Звездные войны" для сигнализации), и зациклите его на начало, когда имена закончатся. Используйте утилиту в com.bruceeckel.util для заполнения массива, ArrayList, LinkedList и обоих типов Set, затем напечатайте каждый контейнер. Определить, является ли натуральное число простым Хід роботи Завдання 1 – 5 using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { Queue queue = new Queue(); queue.Enqueue(2); queue.Enqueue(24); var simple = SimpleNumber.isSimple(3); Generator generator = new Generator(); generator.getRandom(); Console.ReadKey(); } } Завдання 1: public class Queue { LinkedList<int> numbers = new LinkedList<int>(); //Enqueue: добавляет элемент в конец очереди public void Enqueue(int value) { numbers.AddLast(value); } //Dequeue: извлекает и возвращает первый элемент очереди public int Dequeue() { int z = numbers.First(); numbers.RemoveFirst(); return z; } //Peek: просто возвращает первый элемент из начала очереди без его удаления public int Peek() { return numbers.First(); } } Завдання 2: public class Stack { LinkedList<int> numbers = new LinkedList<int>(); //Push: добавляет элемент в стек на первое место public void Push(int value) { numbers.AddFirst(value); } //Pop: извлекает и возвращает первый элемент из стека public int Pop() { int z = numbers.First(); numbers.RemoveFirst(); return z; } //Peek: просто возвращает первый элемент из стека без его удаления public int Peek() { return numbers.First(); } } Завдання 3: public class Deque { LinkedList<int> numbers = new LinkedList<int>(); //push_front Добавить (положить) в начало дека новый элемент public void PushFront(int value) { numbers.AddFirst(value); } //push_back Добавить (положить) в конец дека новый элемент public void PushBack(int value) { numbers.AddLast(value); } //pop_front Извлечь из дека первый элемент public void PopFront() { numbers.RemoveFirst(); } //pop_back Извлечь из дека последний элемент public void PopBack() { numbers.RemoveLast(); } //front Узнать значение первого элемента (не удаляя его) public int Front() { return numbers.First(); } //back Узнать значение последнего элемента (не удаляя его) public int Back() { return numbers.Last(); } //size Узнать количество элементов в деке public int size() { return numbers.Count(); } //clear Очистить дек (удалить из него все элементы) public void Clear() { numbers.Clear(); } } Завдання 4: public class Generator { ArrayList movies = new ArrayList(); private void FillMovies() { string[] films = new string[] { "Матрица", "Матрица 2", "Матрица 3", "Звездные войны ep.1", "Звездные войны ep.2 ", "Звездные войны ep.3", "Звездные войны ep.3", "Звездные войны ep.4", "Звездные войны ep.5", "Звездные войны ep.6"}; movies.AddRange(films); } public Generator() { FillMovies(); } public void getRandom() { Random rnd = new Random(); for (int i = 0; i < movies.Count; i++) { int randomIndex = (int)rnd.Next(0, 10); Console.WriteLine(movies[randomIndex]); } } } Завдання 5: public static class SimpleNumber { public static bool isSimple(int value) { bool result = true; for (int i = 2; i <= value / 2; i++) { if (value % i == 0) { result = false; break; } } return result; } } } Висновок Під час виконання лабораторної роботи було реалізовано dequeue, стек, очередь за допомогою Linked List в середовищі Visual Studio 2013 мовою С#.
Антиботан аватар за замовчуванням

15.12.2016 03:12-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!