C++ STL中的multiset begin()和end()函数
multiset::begin() 是C++ STL中的一个内置函数,它返回一个指向multiset容器中第一个元素的迭代器。由于multiset始终按照有序的方式包含元素,因此begin()始终根据排序标准指向第一个元素。
语法:
iterator multiset_name.begin()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个指向容器中第一个元素的迭代器。
以下程序说明了上述函数:
// CPP program to demonstrate the
// multiset::begin() function
#include <bits/stdc++.h>
using namespace std;
int main()
{
int arr[] = { 14, 10, 15, 11, 10 };
// initializes the set from an array
multiset<int> s(arr, arr + 5);
// Print the first element
cout << "The first element is: " << *(s.begin()) << endl;
// prints all elements in set
for (auto it = s.begin(); it != s.end(); it++)
cout << *it << " ";
return 0;
}
输出:
The first element is: 10
10 10 11 14 15
multiset::end() 是C++ STL中的一个内置函数,它返回一个指向容器中的最后一个元素位置之后的迭代器。
语法:
iterator multiset_name.end()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个指向容器中最后一个元素位置之后的迭代器。
以下程序说明了上述函数:
//演示multiset :: end()函数的CPP程序
# include&lt;bits/stdc++.h&gt;
使用命名空间std;
int main()
{
int arr [] = {14,10,15,11,10,12,17,12};
//从数组初始化集合
multiset&lt;int&gt; s(arr,arr + 8);
//打印集合中的所有元素
for(auto it = s.begin();it!= s.end();it ++)
cout&lt;<*it&lt;<" ";
返回0;
}
输出结果:
10 10 11 12 12 14 15 17
让我们以下表的形式查看以下差异:
multiset begin() | multiset end() |
---|---|
它用于返回指向multiset容器中第一个元素的迭代器。 | 它用于返回指向multiset容器中超出末尾元素的迭代器。 |
语法是 -:iterator begin(); |
语法是 -: iterator end(); |
它不接受任何参数。 | 它不接受任何参数。 |
它的复杂度是常数。 | 它的复杂度是常数。 |
它的迭代器有效性不变。 | 它的迭代器有效性不变。 |