Реализация дэка. Подскажите,в чем моя ошибка? - C#
Формулировка задачи:
Задание такое: Дек организован в массиве с циклическим заполнением и с использованием двунаправленного списка. Операции выполняются с разных концов дека.
Подскажите пожалуйста,как исправить эту ошибку и правильная ли реализация этого задания?
Листинг программы
- 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>();// здесь ошибка The type or namespace name 'DEQ<>' could not be found (are you missing a using directive or an assembly reference?)
- 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();
- }
- }
- }
- namespace DEQ_Implementation
- {
- public class DEQ<T> : IEnumerable<T>
- {
- //Внутреннее хранилище
- private LinkedList<T> innerList;
- //Конструктор
- public DEQ()
- { innerList = new LinkedList<T>(); }
- //Метод добавления в начало DEQ
- public void PushFront(T arg)
- { innerList.AddFirst(arg); }
- //Метод добавления в конец DEQ
- public void PushBack(T arg)
- { innerList.AddLast(arg); }
- //Метод извлечения с конца DEQ
- public T PopBack()
- {
- T arg = innerList.Last<T>();
- innerList.RemoveLast();
- return arg;
- }
- //Метод извлечение с начала DEQ
- public T PopFront()
- {
- T arg = innerList.First<T>();
- innerList.RemoveFirst();
- return arg;
- }
- //Метод очистки DEQ
- public void Clear()
- { innerList.Clear(); }
- //Свойство количества элементов DEQ
- public int Count
- { get { return innerList.Count; } }
- //Индексатор DEQ (readonly)
- public T this[int index]
- {
- get
- {
- if (index >= innerList.Count)
- throw new IndexOutOfRangeException("Элемент отсутствует в указанной позиции!");
- else
- return innerList.ElementAt(index);
- }
- }
- //Enumerator
- public IEnumerator<T> GetEnumerator()
- {
- return innerList.GetEnumerator();
- }
- //Enumerator
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return innerList.GetEnumerator();
- }
- }
- }
Решение задачи: «Реализация дэка. Подскажите,в чем моя ошибка?»
textual
Листинг программы
- DEQ_Implementation.DEQ<int> myDEQ = new DEQ_Implementation.DEQ<int>();// здесь ошибка...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д