📅  最后修改于: 2023-12-03 15:29:51.193000             🧑  作者: Mango
在C++的STL中,unordered_set
是一种散列表(hash table)的实现,它能够以平均常数时间(常数时间指的是O(1))快速查找一个元素。其中,end()
是一个函数,它返回一个迭代器,指向unordered_set
的最后一个元素的下一个位置。本文将介绍unordered_set
中的end()
函数。
unordered_set
通过迭代器(iterator)来操作其元素。end()
函数返回的是迭代器类型(unordered_set::iterator
)。因此,使用end()
的方法就是通过声明一个迭代器来获取unordered_set
的最末尾的下一个迭代器,代码如下:
unordered_set<int> mySet = {1, 2, 3, 4, 5};
auto it = mySet.end();
下面的示例展示了如何使用end()
函数,遍历unordered_set
中的所有元素:
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
unordered_set<int> mySet = {1, 2, 3, 4, 5};
// 遍历unordered_set中的所有元素
for (auto it = mySet.begin(); it != mySet.end(); ++it)
{
cout << *it << " ";
}
cout << endl;
return 0;
}
输出结果为:
5 1 2 3 4
可以看到,输出结果是无序的。这是因为unordered_set
是无序容器,元素的位置不是按照插入的顺序排列的。
unordered_set
是C++ STL中的一种散列表实现的容器,提供了高效的查找功能。end()
函数返回一个迭代器,指向unordered_set
的最后一个元素的下一个位置。使用end()
的方法就是通过声明一个迭代器来获取unordered_set
的最末尾的下一个迭代器。