在本文中,我們將討論 C++ STL 中的 set::equal_range() 函數、它們的語法、工作和返回值。
C++ STL 中的 Set 是什麽?
C++ STL 中的集合是容器,它們必須按一般順序具有唯一元素。集合必須具有唯一的元素,因為元素的值標識了元素。一旦在集合容器中添加了一個值,以後就無法修改,盡管我們仍然可以將這些值刪除或添加到集合中。集合用作二叉搜索樹。
設置內容::equal_range()
equal_range() 函數是 C++ STL 的內置函數,定義在頭文件中。此函數返回包含作為函數參數傳遞的值的集合容器的範圍。該集合包含所有唯一值,因此找到的範圍內的等效值將是單個值。如果容器中不存在該值,則範圍將為零,兩個迭代器都指向第一個位置。
用法
Set1.equal_range(const type_t& value);
參數
該函數接受一個參數,即要查找的元素。
返回值
此函數返回對,或者我們可以說迭代器範圍從容器的下限開始,直到要在容器中找到的元素。
示例
Input:set<int> myset = {10, 20, 30, 40};
Output:lower bound of 30 is 30
示例
#include <bits/stdc++.h>
using namespace std;
int main(){
set<int> mySet;
mySet.insert(10);
mySet.insert(20);
mySet.insert(30);
mySet.insert(40);
mySet.insert(50);
cout<<"Elements before applying range() Function:";
for (auto i = mySet.begin(); i != mySet.end(); i++)
cout << *i << " ";
auto i = mySet.equal_range(30);
cout<<"\nlower bound of 30 is "<< *i.first;
cout<<"\nupper bound of 30 is "<< *i.second;
i = mySet.equal_range(40);
cout<<"\nlower bound of 40 is " << *i.first;
cout<<"\nupper bound of 40 is " << *i.second;
i = mySet.equal_range(10);
cout<<"\nlower bound of 10 is " << *i.first;
cout<<"\nupper bound of 10 is " << *i.second;
return 0;
}
輸出
如果我們運行上麵的代碼,那麽它將生成以下輸出 -
Elements before applying range() Function:10 20 30 40 50 lower bound of 30 is 30 upper bound of 30 is 40 lower bound of 40 is 40 upper bound of 40 is 50 lower bound of 10 is 10 upper bound of 10 is 20
相關用法
- C++ Set emplace_hint()用法及代碼示例
- C++ Set cbegin()、cend()用法及代碼示例
- C++ Set upper_bound()用法及代碼示例
- C++ Set set()用法及代碼示例
- C++ Set max_size()用法及代碼示例
- C++ Set crbegin()、crend()用法及代碼示例
- C++ Set count()用法及代碼示例
- C++ Set insert()用法及代碼示例
- C++ Set get_allocator()用法及代碼示例
- C++ String back()用法及代碼示例
- C++ String append()用法及代碼示例
- C++ Stack push()用法及代碼示例
- C++ String Assign()用法及代碼示例
- C++ Stack empty()用法及代碼示例
- C++ SHRT_MIN用法及代碼示例
- C++ Stack size()用法及代碼示例
- C++ String size()用法及代碼示例
- C++ String resize()用法及代碼示例
- C++ String swap()用法及代碼示例
- C++ complex Sinh()用法及代碼示例
注:本文由純淨天空篩選整理自Sunidhi Bansal大神的英文原創作品 Set equal_range() function in C++ STL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。