📜  C++ STL中的unordered_set end()(1)

📅  最后修改于: 2023-12-03 15:29:51.193000             🧑  作者: Mango

C++ STL中的unordered_set end()

在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的最末尾的下一个迭代器。