unordered_set :: end()函数是C++ STL中的内置函数,它返回一个指向过去元素的迭代器。该迭代器并不直接指向元素,而是指向最后一个元素之后的位置。
句法
umap_name.end()
or,
umap_name.end(int i)
参数:该函数采用单个整数参数这是可选的。
返回值:
- 如果参数如果未传递,则该函数将返回一个指向past-the-end元素的迭代器。实际上,它不指向集合中的任何元素,但指向容器的最后一个元素之后的位置。
- 如果参数传递后,函数将返回一个迭代器,该迭代器指向第i个存储区的past-the-end元素。与前面的情况一样,它不指向集合中的任何元素,而是指向第i个存储区的最后一个元素之后的位置。
因此,不能取消引用由unordered_set :: end()返回的迭代器。
下面的程序说明了unordered_set :: end()函数:
程序1:
// CPP program to illustrate the unordered_set::end()
// function
#include
#include
using namespace std;
int main()
{
unordered_set sampleSet =
{ 5, 10, 15, 4, 2, 7, 8, 6 };
// Continue the loop until it points to the
// past-the-end position returned by sampleSet.end()
for (auto it = sampleSet.begin(); it != sampleSet.end();
it++)
{
cout << *it << " ";
}
return 0;
}
输出:
6 8 7 2 4 15 10 5
程序2 :
// CPP program to illustrate the
// unordered_set::end() function
#include
#include
using namespace std;
int main()
{
unordered_set sampleSet =
{ 5, 10, 15, 4, 2, 7, 8, 6 };
// displaying all the buckets of the set.
// Continue the loop until it points to the
// past-the-end position returned by sampleset.end(i)
for (unsigned i = 0; i < sampleSet.bucket_count(); ++i)
{
cout << "Bucket " << i << " Contains: ";
for (auto it1 = sampleSet.begin(i);
it1 != sampleSet.end(i); ++it1)
cout << " " << *it1;
cout << endl;
}
return 0;
}
输出:
Bucket 0 Contains:
Bucket 1 Contains:
Bucket 2 Contains: 2
Bucket 3 Contains:
Bucket 4 Contains: 4 15
Bucket 5 Contains: 5
Bucket 6 Contains: 6
Bucket 7 Contains: 7
Bucket 8 Contains: 8
Bucket 9 Contains:
Bucket 10 Contains: 10
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。