C++ multiset erase()2024年8月30日 | 5分钟阅读 C++ Multimultiset erase() 函数用于从 multiset 容器中移除与给定键相关联的单个元素或范围内的元素 ([first, last))。因此,大小将减少被移除元素的数量。 语法参数position: 指向要从容器中移除的元素的迭代器。 val: 要从 multiset 中移除的值。 first: 要擦除范围的起始。 last: 要擦除范围的结束。 返回值erase() 函数返回一个指向已删除元素的下一个元素的迭代器,或者返回已删除元素的数量。 复杂度erase(position): 摊销常数时间。 erase (val): 对容器大小取对数时间。 erase(first,last): 在容器中 first 和 last 之间的距离上是线性的。 迭代器有效性指向被函数移除的元素的迭代器、引用和指针会失效。所有其他迭代器、指针和引用保持有效。 数据竞争容器被修改。 被移除的元素被修改。在容器中迭代范围是不安全的,尽管并发访问其他元素是安全的。 异常安全此函数不会抛出异常。 如果指定了无效范围或位置,则会导致未定义行为。 示例 1让我们看一个使用迭代器擦除元素的简单示例。 输出 Before erasing the element: 10 20 20 30 After erasing the element: 10 20 20 30 在上面的示例中,元素通过迭代器 'it' 擦除。 示例 2让我们看一个简单的例子来擦除给定键值的 multiset 元素 输出 Before erasing the element: 10 10 20 30 30 40 After erasing the element: 10 10 20 40 在上面的示例中,erase(value) 函数从 multiset 中使用值 30。 示例 3让我们看一个使用给定范围擦除元素的简单示例 输出 Before erasing the element are: Size is: 3 10 20 30 After erasing the element are: Size is: 0 在上面的示例中,erase(first, last) 函数用于擦除给定范围(即从头到尾)的元素。 示例 4让我们看一个简单的例子来擦除 multiset 中的所有奇数 输出 After erasing odd numbers, elements are: 2, 4, 4, 6, 8, 10, 10, 12, 在上面的示例中,所有奇数都被擦除,并显示偶数。 示例 5让我们看另一个例子 输出 Starting data of multiset s1 is: [Bob] [Bob] [Rob] [Rob] [Robert] size() == 5 After the 2nd element is deleted, the multiset s1 is: [Bob] [Rob] [Rob] [Robert] size() == 4 Starting data of multiset s2 is: [growl] [meow] [nikita] [nikita] [yellow] size() == 5 After the middle elements are deleted, the multiset s2 is: [growl] [yellow] size() == 2 Starting data of multiset s3 is: [B] [C] [C#] [D] [D#] [E] [E] [E#] [E#] [F] [F#] [G] [G#] size() == 13 The number of elements removed from s3 is: 2. After the element with a key of "E#" is deleted, the multiset s3 is: [B] [C] [C#] [D] [D#] [E] [E] [F] [F#] [G] [G#] size() == 11 下一个主题C++ multiset |
C++ multiset rend() C++ 用于返回指向多重集末尾(不是最后一个元素,而是最后一个元素之后)的逆向迭代器。这类似于非逆向容器中第一个元素之前的元素。注意:- 这是一个占位符....
阅读 4 分钟
C++ multiset key_comp() C++ Multiset key_comp() 函数用于返回 multiset 容器用于比较键的比较对象的副本。该比较对象可用于比较容器中两个元素的键值。此比较对象已给定...
5 分钟阅读
C++ Multiset operator== C++ Multiset operator== 是 C++ 中 multiset 的一个非成员重载函数。此函数用于检查两个 multiset 是否相等。注意:multiset 对象之间的比较是基于元素的成对比较。两个 multiset 相等...
阅读 4 分钟
C++ std 运算符> C++ 多重集运算符> 是多重集的一个非成员重载函数。此函数用于检查第一个多重集是否大于另一个多重集。注意:运算符> 顺序比较多重集的元素,比较将在第一次不匹配时停止。语法模板 <class T, class Compare,...
阅读 4 分钟
C++ multiset max_size() C++ Multiset max_size() 函数用于获取多重集容器可以容纳的最大大小。语法 成员类型 size_type 是一个无符号整型。size_type max_size() const; //...
阅读 3 分钟
C++ multiset size() C++ Multiset size() 函数用于查找多重集容器中存在的元素数量。语法 成员类型 size_type 是一个无符号整型。size_type size() const; // 直到 C++ 11 size_type...
阅读 3 分钟
C++ multiset value_comp() C++ Multiset value_comp() 函数返回一个比较对象。此函数用于比较两个元素,以检查第一个元素的键是否在第二个元素之前。它接受两个相同类型的参数,如果第一个参数在...之前,则返回 true。
阅读 4 分钟
C++ multiset cend() C++ 用于返回一个常量迭代器,指向多重集中的最后一个条目。注意:这是一个占位符。此位置不存在任何元素,尝试访问是未定义行为。语法 const_iterator cend() const noexcept; //自 C++ 11 起 A...
阅读 3 分钟
C++ Multiset lower_bound() C++ Multiset lower_bound() 函数用于返回 multiset 容器中等于传递给参数的 val 的键的迭代器。如果 val 不存在于 multiset 容器中,它将返回一个指向紧邻...
5 分钟阅读
C++ 多重集 emplace() C++ 多重集 emplace() 函数用于通过将新元素插入容器来扩展多重集容器。元素直接构建(既不复制也不移动)。通过给出传递给此函数的参数 args 来调用元素的构造函数。语法模板 <class? Args> ...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India