lower_bound

王朝百科·作者佚名  2012-05-01
窄屏简体版  字體: |||超大  

C++ STLiterator lower_bound( const key_type &key ) 函数用法,返回一个迭代器,指向键值>= key的第一个元素。iterator upper_bound( const key_type &key ) 函数用法,返回一个迭代器,指向键值> key的第一个元素。

在同一个键(key)上调用lower_bound和upper_bound,将产生一个迭代器范围(类似equal_range(const key_type &key)),指示出该键所关联的所有元素。

如果该键在容器中存在,则会获得两个不同的迭代器:lower_bound返回的迭代器指向该键关联的第一个实例,而upper_bound返回的迭代器则指向该键关联的最后一个实例的下一个位置。如果该键不在multimap中,这两个操作将返回同一个迭代器,指向依据元素的排列顺序该键应该插入的位置。

举例vector<int> nums;

nums.push_back( -242 );

nums.push_back( -1 );

nums.push_back( 0 );

nums.push_back( 5 );

nums.push_back( 8 );

nums.push_back( 8 );

nums.push_back( 11 );

cout << "Before nums is: ";

for( unsigned int i = 0; i < nums.size(); i++ ) {

cout << nums[i] << " ";

}

cout << endl;

vector<int>::iterator result;

int new_val = 7;

result = lower_bound( nums.begin(), nums.end(), new_val );

nums.insert( result, new_val );

cout << "After, nums is: ";

for( unsigned int i = 0; i < nums.size(); i++ ) {

cout << nums[i] << " ";

}

cout << endl;

输出:

Before nums is: -242 -1 0 5 8 8 11

After, nums is: -242 -1 0 5 7 8 8 11

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航