gpt4 book ai didi

c++ - set_union 与 multiset 容器?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:59 27 4
gpt4 key购买 nike

当一个或两个输入容器是具有重复对象的多重集时,算法 std:set_union 的返回值是多少? dups 会迷路吗?

让我们假设例如:

multiset<int> ms1;
ms1.insert(1);
ms1.insert(1);
ms1.insert(1);
ms1.insert(2);
ms1.insert(3);

multiset<int> ms2;
ms2.insert(1);
ms2.insert(1);
ms2.insert(2);
ms2.insert(2);
ms2.insert(4);

vector<int> v(10);
set_union( ms1.begin(), ms1.end(), ms2.begin(), ms2.end(), v.begin() );

输出是什么?

最佳答案

根据标准 25.3.5:

The semantics of the set operations are generalised to multisets in a standard way by defining union() to contain the maximum number of occurrences of every element, intersection() to contain the minimum, and so on.

因此在您的示例中,结果将为 (1,1,1,2,2,3,4,0,0,0),因为您初始化了长度为 10 的 vector 。

关于c++ - set_union 与 multiset 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3195973/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com