zoukankan      html  css  js  c++  java
  • multiset 总结

    multiset 总结

    1 简介

    multiset 是一个非常好用的 STL,简单来说就是一个可重集,可以允许序列重复。

    2 声明

    像其他所有 STL 一样,multiset 的声明是这样的:multiset<T> c,c1,c2;

    其中 (T) 是一个类型,如果是结构体的话需要重载小于号。

    3 操作

    3.1 非变动性操作

    • c.size() 返回集合元素大小。
    • c.empty() 返回集合是否为空,为空的话返回 (1) ,否则返回 (0)​ 。
    • c.max_size() 返回能容纳的元素最大数量。
    • c1==c2 判断两个可重集是否相等。

    同样,可重集之间还支持判断小于等于,大于等比较操作,这里不一一展开。

    两个可重集的比较类似于两个 string 类型的比较。

    3.2 查找函数

    • c.count(T elem) 返回元素 (elem) 的个数。
    • c.find(T elem) 返回元素值为 (elem) 的第一个元素所代表的迭代器,如果没有返回 end()
    • c.lower_bound(T elem),c.upper_bound(T elem) 返回第一个大于等于,大于 (elem) 的元素所代表的迭代器,没有的话返回 (elem)
    • c.equal_range(T elem) 返回一对 pair 类型的迭代器,表示元素值所在区间。

    3.3 赋值函数

    • c1=c2(c1) 清空。将 (c2) 的元素全部给 (c1)
    • c1.swap(c2)(c1,c2) 元素互换。
    • swap(c1,c2) 同上。

    3.4 迭代器相关函数

    • c.begin() 返回第一个元素所代表的迭代器。
    • c.end() 返回最后一个元素的下一个位置所代表的迭代器。
    • c.rbegin() 返回最后一个元素所代表的反向迭代器。
    • c.rend() 返回第一个元素前面一个位置所代表的的反向迭代器。

    3.5 插入删除函数

    注意,这里必须保证参数是合法参数。

    • c.insert(T elem) 插入元素 (elem) ,返回元素位置所代表的迭代器。
    • c.insert(beg,end) 插入一段区间 ([beg,end)) 中的元素,无返回值。
    • c.erase(T elem) 删除与 (elem)​ 相等的所有元素,返回被删除元素个数。
    • c.erase(pos) 删除迭代器 (pos)​ 所代表的位置上的元素,无返回值。
    • c.erase(beg,end) 删除区间 ([beg,end))​ 之间的所有元素,无返回值。
    • c.clear() 清空可重集,无返回值。
  • 相关阅读:
    javaSE基础(三)
    javaSE基础(二)
    javaSE基础(一)
    文件目录爬虫
    前自增 与 后自增
    查找 与 排序 总结
    python 使用 grpc
    python3.7 安装 uwsgi
    go
    go
  • 原文地址:https://www.cnblogs.com/TianMeng-hyl/p/15176328.html
Copyright © 2011-2022 走看看