最小堆下的lazy delete

117 阅读1分钟

简单实现了基于int下的lazy delete的数据类型。内容比较粗略,就不过多介绍。

class minClass{
private:
    priority_queue<int> data;
    priority_queue<int> delete;
public:
    void add(int v){
        data.push(v);
    }
    int get_min(){
        return data.top();
    }
    void del(int v){
        delete.push(v);
        while(!delete.empty()&&delete.top()==data.top()){
            delete.pop();
            data.pop();
        }
    }
    
};