Реализация дэка. Подскажите,в чем моя ошибка? - 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>();// здесь ошибка...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы