Используя модуль для реализации дека целых чисел, реализовать очередь на базе дека - C#
Формулировка задачи:
Уважаемые программисты!Очень нужна Ваша помощь: (помогите решить, разобраться или хотябы просто объяснить алгоритм, с чего начинать, как делать и т.п.). Заранее спасибо)
Все рекурсивные структуры данных в этом разделе реализовывать на базе указателей и динамической памяти "памяти.
Используя модуль для реализации деку целых чисел (см. задание 10.8), реализовать очередь на базе деку (см. предыдущее задание). Для реализованной очереди решения "решить задачу вычисления длины очереди.
задание 10,8 : Описать модуль для реализации деку целых чисел. Предусмотреть выполнение действий над деку: 1) Начать работу.
2) пустой дек? 3) Добавить элемент к началу деку.
4) Взять элемент с начала деку.
5) Добавить элемент к концу деку.
6) Взять элемент с конца деку.
Используя этот модуль, составить подпрограммы: вычисление длины противне, присвоения для деков. Предотвратить уничтожение деку после вызова подпрограммы вычисления его длины.
Предыдущие задание: Используя модуль для реализации деку целых чисел (см. задание 10.8), реализовать стек целых чисел на базе деку Реализовать стек на базе деку- значит описать модуль и реализовать действия над стеком вызовами соответствующих подпрограмм, реализующих действия над деку Для реализованного стека решения "решить задачу инвертирования входной последовательности целых чисел.
Решение задачи: «Используя модуль для реализации дека целых чисел, реализовать очередь на базе дека»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DEQ_Realisation { class Program { static void Main(string[] args) { DEQ<int> myDEQ = new DEQ<int>(); myDEQ.AddFirst(10); myDEQ.AddFirst(20); myDEQ.AddLast(30); myDEQ.AddLast(40); Console.WriteLine(myDEQ.GetFirst()); Console.WriteLine(myDEQ.GetLast()); Console.WriteLine(myDEQ.DEQCount); myDEQ.ClearDEQ(); Console.WriteLine(myDEQ.DEQCount); Console.ReadLine(); } } public class DEQ<T>:IEnumerable<T> { private LinkedList<T> innerList; public DEQ() { innerList = new LinkedList<T>(); } public void AddFirst(T arg){innerList.AddFirst(arg);} public void AddLast(T arg){innerList.AddLast(arg);} public T GetFirst(){return innerList.First<T>();} public T GetLast(){return innerList.Last<T>();} public void ClearDEQ() { innerList.Clear(); } public int DEQCount { get { return innerList.Count; } } public IEnumerator<T> GetEnumerator() { return innerList.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return innerList.GetEnumerator(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д