词条 | upper_bound |
释义 | C++ STLiterator lower_bound( const key_type &key ); iterator upper_bound( const key_type &key ); 函数作用iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bound( const key_type &key ):返回一个迭代器,指向键值> key的第一个元素。 举例例如:map中已经插入了1,2,3,4的话,如果lower_bound(2)的话,返回的2,而upper_bound(2)的话,返回的就是3 Equal_range函数返回一个pair,pair里面第一个变量是Lower_bound返回的迭代器,pair里面第二个迭代器是Upper_bound返回的迭代器,如果这两个迭代器相等的话,则说明map中不出现这个关键字,程序说明 #include <map> #include <string> #include <iostream> Using namespace std; Int main() { Map<int, string> mapStudent; mapStudent[1] = “student_one”; mapStudent[3] = “student_three”; mapStudent[5] = “student_five”; map<int, string>::iterator iter; iter = mapStudent.lower_bound(2); { //返回的是下界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.lower_bound(3); { //返回的是下界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.upper_bound(2); { //返回的是上界3的迭代器 Cout<<iter->second<<endl; } iter = mapStudent.upper_bound(3); { //返回的是上界5的迭代器 Cout<<iter->second<<endl; } Pair<map<int, string>::iterator, map<int, string>::iterator> mapPair; mapPair = mapStudent.equal_range(2); if(mapPair.first == mapPair.second) { cout<<”Do not Find”<<endl; } Else { Cout<<”Find”<<endl; } mapPair = mapStudent.equal_range(3); if(mapPair.first == mapPair.second) { cout<<”Do not Find”<<endl; } Else { Cout<<”Find”<<endl; } } |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。