c++ stl 有没有无重复元素队列这样的容器
2个回答
展开全部
你可以用queue和set自己实现一个。就像这样
struct myQueue{
queue<int> q;
set<int> s;
void push(int x){
if (s.count(x)) return; //如果存在就不入队
q.push(x); s.insert(x); //入队,加入集合
}
int front(int x){
assert(!q.empty()); //如果队空就报错
return q.front();
}
void pop(){
assert(!q.empty());
int h = q.front(); //取出队头
s.erase(h); //从集合中删除
q.pop(); //从队列中删除
}
bool empty(){
return q.empty();
}
};
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询