est ici une classe pour aider les gens à mettre en œuvre cette facilement:
public class StackQueue<T>
{
private LinkedList<T> linkedList = new LinkedList<T>();
public void Push(T obj)
{
this.linkedList.AddFirst(obj);
}
public void Enqueue(T obj)
{
this.linkedList.AddFirst(obj);
}
public T Pop()
{
var obj = this.linkedList.First.Value;
this.linkedList.RemoveFirst();
return obj;
}
public T Dequeue()
{
var obj = this.linkedList.Last.Value;
this.linkedList.RemoveLast();
return obj;
}
public T PeekStack()
{
return this.linkedList.First.Value;
}
public T PeekQueue()
{
return this.linkedList.Last.Value;
}
public int Count
{
get
{
return this.linkedList.Count;
}
}
}
Avec tout le respect, cela ne semble pas répondre à sa question. – StriplingWarrior
Le lien a une classe qui définit ce que l'OP recherchait. L'exemple donné dans cette réponse ne le montre pas vraiment. –
StriplingWarrior, je n'ai aucune idée de ce dont vous parlez. L'affiche demande un conteneur générique existant qui agit comme une pile ou une file d'attente. Un tel conteneur est appelé "deque", et j'ai fourni un lien vers le code source pour une implémentation de ce type. Exactement quelle partie de la question n'a pas été répondue? –