C++ STL中的unordered_multiset bucket()函数
unordered_multiset::bucket() 是C++ STL中的一个内置函数,用于返回给定元素所在的桶编号。桶大小的范围从0到bucket_count-1。
语法:
unordered_multiset_name.bucket(element)
参数: 该函数接受一个必需的单个元素,其指定要返回其桶号的值。
返回值: 它返回表示元素所在的桶编号的无符号整数类型。
以下程序说明了上述函数:
程序1:
// C++程序,用于说明
// unordered_multiset::bucket()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 声明
unordered_multiset<int> sample;
// 插入元素
sample.insert(10);
sample.insert(15);
sample.insert(15);
sample.insert(13);
sample.insert(13);
for (auto it = sample.begin(); it != sample.end(); it++) {
cout << "其中元素 " << *it
<< " 所在的桶号为 " << sample.bucket(*it) << endl;
}
return 0;
}
其中元素 13 所在的桶号为 6
其中元素 13 所在的桶号为 6
其中元素 10 所在的桶号为 3
其中元素 15 所在的桶号为 1
其中元素 15 所在的桶号为 1
程序2:
// C++程序,用于说明
// unordered_multiset::bucket()函数
#include <bits/stdc++.h>
using namespace std;
int main()
{
// 声明
unordered_multiset<char> sample;
// 插入元素
sample.insert('a');
sample.insert('a');
sample.insert('b');
sample.insert('b');
sample.insert('c');
sample.insert('c');
sample.insert('e');
for (auto it = sample.begin(); it != sample.end(); it++) {
cout << "其中元素 " << *it
<< " 所在的桶号为 " << sample.bucket(*it) << endl;
}
return 0;
}
其中元素 e 所在的桶号为 16
其中元素 a 所在的桶号为 12
其中元素 a 所在的桶号为 12
其中元素 b 所在的桶号为 13
其中元素 b 所在的桶号为 13
其中元素 c 所在的桶号为 14
其中元素 c 所在的桶号为 14