ЛР №2

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

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

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

Рік:
2016
Тип роботи:
Лабораторна робота
Предмет:
Теор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:25

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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