using System.Collections.Generic;
namespace GFGGame
{
///
/// ε―δΈιε
///
///
public class UniqueQueue
{
private Queue queue = new Queue();
private HashSet set = new HashSet();
public bool Contains(T item)
{
return set.Contains(item);
}
public void Enqueue(T item)
{
if (!set.Contains(item))
{
queue.Enqueue(item);
set.Add(item);
}
}
public T Dequeue()
{
T item = queue.Dequeue();
set.Remove(item);
return item;
}
public int Count => queue.Count;
}
}