数据结构——STL容器

map

unordered_map

unordered_map 容器,直译过来就是"无序 map 容器"的意思。所谓“无序”,指的是 unordered_map 容器不会像 map 容器那样对存储的数据进行排序,但仍然不会重复。换句话说,unordered_map 容器和 map 容器仅有一点不同,即 map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。

优先队列priority_queue

priority_queue<int, vector<int>, less<int>> q;  // 最大堆 从大到小排序,降序
priority_queue<int, vector<int>, greater<int>> q;  // 最小堆 从小到大排序,升序

priority_queue q;默认从大到小排序

q.size();//返回q里元素个数
q.empty();//返回q是否为空,空则返回1,否则返回0
q.push(k);//在q的末尾插入k
q.pop();//删掉q的第一个元素
q.top();//返回q的第一个元素

结构体 重载<

    struct Status{
        int val;
        ListNode* node;
        bool operator < (const Status &tmp) const{ 
        // 函数必须是静态的 使得该函数可以被 const 对象也就是常量所调用
        // 形参可以加上const关键字和&,保证安全性,提高效率
            return val > tmp.val;
        }
    };
    priority_queue<Status> pq;  
上一篇:【力扣刷题笔记】454. 四数相加 II、383. 赎金信


下一篇:egg上传图片到阿里云服务器