c++ queue和set实现元素的唯一性

发布于 2020-06-17  108 次阅读


struct MyQueue
{
	queue<string> q;
	set<string> s;

	void push(string x)
	{
		if(s.count(x))
		{
			return;
		}
		q.push(x);
		s.insert(x);
	}
	
	void pop()
	{
		s.erase(q.front());
		q.pop();
	}
	
	string front()
	{
		return q.front();
	}
	
	string back()
	{
		return q.back();
	}
	
	bool empty()
	{
		return q.empty();
	}
	
	long long size()
	{
		return q.size();
	}
};