Алгоритмы и структуры данных для начинающих: стеки и очереди


Метод Count Поведение


Download 81.5 Kb.
bet4/10
Sana04.02.2023
Hajmi81.5 Kb.
#1162666
TuriЛекция
1   2   3   4   5   6   7   8   9   10
Bog'liq
Алгоритмы и структуры данных для начинающих

Метод Count

  • Поведение: Возвращает количество элементов в очереди или 0, если очередь пустая.

  • Сложность: O(1).

public int Count
{
get
{
return _items.Count;
}
}
Двусторонняя очередь
Двусторонняя очередь (Double-ended queue), или дек (Deque), расширяет поведение очереди. В дек можно добавлять или удалять элементы как с начала, так и с конца очереди. Такое поведение полезно во многих задачах, например, планирование выполнения потоков или реализация других структур данных. Позже мы рассмотрим вариант реализации стека с помощью двусторонней очереди.
Класс Deque
Класс Deque проще всего реализовать с помощью двусвязного списка. Он позволяет просматривать, удалять и добавлять элементы в начало и в конец списка. Основное отличие двусторонней очереди от обычной — методы Enqueue, Dequeue, и Peek разделены на пары для работы с обоими концами списка.
public class Deque
{
LinkedList _items = new LinkedList();

public void EnqueueFirst(T value)


{
throw new NotImplementedException();
}

public void EnqueueLast(T value)


{
throw new NotImplementedException();
}

public T DequeueFirst()


{
throw new NotImplementedException();
}

public T DequeueLast()


{
throw new NotImplementedException();
}

public T PeekFirst()


{
throw new NotImplementedException();
}

public T PeekLast()


{
throw new NotImplementedException();
}

public int Count


{
get;
}
}
Метод EnqueueFirst

  • Поведение: Добавляет элемент в начало очереди. Этот элемент будет взят из очереди следующим при вызове метода DequeueFirst.

  • Сложность: O(1).

public void EnqueueFirst(T value)
{
_items.AddFirst(value);
}

Download 81.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling