C # - Java Deque - PullRequest
       20

C # - Java Deque

0 голосов
/ 21 декабря 2009

в Java есть класс с именем Deque , и я хотел бы найти что-то подобное в .NET (C #).

Причина, по которой мне это нужно, заключается в том, что мне нужно просмотреть последний элемент в коллекции, а затем удалить из очереди первый элемент в коллекции.

Спасибо, А.Дж. Равиндиран.

Ответы [ 5 ]

6 голосов
/ 21 декабря 2009

PowerCollections имеет класс Deque (и проверенную родословную).

4 голосов
/ 16 июня 2012

Ознакомьтесь с коллекцией .NET System.Collections.Generic.LinkedList .

2 голосов
/ 24 января 2014

Вот моя реализация Deque<T> (с использованием кольцевого буфера) и одновременной без блокировки ConcurrentDeque<T>:

Оба класса поддерживают операции Push, Pop и Peek на обоих концах очереди, все за O (1).

2 голосов
/ 21 декабря 2009

Список должен сделать это для вас:

var l = new List<int>();
var last = l[l.Count - 1];
l.RemoveAt(0);
0 голосов
/ 21 декабря 2009

Нечто подобное было затронуто в другом вопросе SO .

Похоже, что популярный ответ сводится к связанному списку, и Эрик Липперт предложил свою собственную реализацию Deque .

Так что я думаю, что короткий ответ - нет, такой строгой структуры данных, встроенной в .NET

нет.

НТН.

...