【发布时间】:2014-02-22 20:00:43
【问题描述】:
假设我有以下使用 c++ 中的集合的示例:
set <int> a;
for (int i = 0; i <10; i++){
//Assume i is a random number
a.insert(i);
}
您如何找到上面显示的示例的最大值和最小值?理想情况下,我认为以下方法可行,但会出现以下错误:
error: cannot convert 'std::_Rb_tree_const_iterator<int>' to 'int' in assignment
我正在使用以下函数来尝试获取最大值/最小值:
min = a.begin();
max = a.end();
【问题讨论】:
-
a.end()不是最后一个元素。 -
*a.begin()和*a.rbegin()(注意取消引用)。 -
函数 begin() 将迭代器返回到集合的第一个元素。