C++ multiset swap()

30 Aug 2024 | 3 分钟阅读

C++ Multiset 的 swap() 函数用于交换两个 multiset 的内容,但两个 multiset 必须是相同类型,尽管它们的大小可能不同。

语法

参数

x:要与之交换内容的 multiset 容器。

返回值

复杂度

常量。

迭代器有效性

所有指向两个 multiset 容器中元素的引用、迭代器和指针都保持有效,但现在它们指向另一个 multiset 容器中的元素,并对其进行迭代。

数据竞争

容器和 x 都会被修改。

异常安全

如果抛出异常,对容器没有影响。

示例 1

让我们看一个将一个 multiset 的元素交换到另一个 multiset 的简单示例。

输出

Multiset m2 contains following elements
1
2
3
3
4
5

在上面的示例中,multiset m1 有五个元素,而 m2 是空的。当你将 m1 与 m2 交换时,m1 的所有元素都会被交换到 m2 中。

示例 2

让我们看一个交换两个 multiset 内容的简单示例。

输出

first contains: 20 20 36
second contains: 4 19 72

示例 3

让我们看一个交换两个 multiset 内容的简单示例。

输出

multiset1:
	x
	y
	y
	z
multiset2:
	a
	b
	c
	c
	d

在上面的示例中,使用了另一种形式的 swap() 函数来交换两个 multiset 的内容。

示例 4

让我们看一个简单的例子

输出

The original multiset s1 is: 10 10 20.
After swapping with s2, multiset s1 is: 100 200.
After swapping with s3, multiset s1 is: 200.
下一个主题C++ multiset