下面程序的输出结果是 int a[] = { 2,5,1,4,3,3,2}; multiset <int> st(a,a+7); cout << * st.lower_bound(3) << "," << *st.upper_bound(3) << endl;
时间: 2024-09-17 22:02:14 浏览: 31
C++multiset介绍及详细使用示例(源代码)
下面程序的输出结果会显示集合`st`中第一个大于等于3以及第一个小于等于3但不包括3的具体元素。由于`a`数组中包含两个3,`multiset<int>`会自动去重,所以实际上`lower_bound(3)`返回的第一个元素将是第一个`3`,`upper_bound(3)`返回的第一个元素将是下一个更大的整数,因为集合中没有比3大的元素。
```cpp
int a[] = {2, 5, 1, 4, 3, 3, 2};
multiset<int> st(a, a + 7); // 使用范围初始化,包含数组中从'a'到'a+7'的所有元素
// lower_bound(3) 返回第一个大于或等于3的元素的迭代器,这里实际就是3
auto it_lower = st.lower_bound(3);
// upper_bound(3) 返回第一个大于3的元素的迭代器,这里是4(因为下一个元素是4)
auto it_upper = st.upper_bound(3);
// 输出结果:
cout << *it_lower << "," << *it_upper << endl; // 输出 3,4
```
阅读全文