set是集容器。它的结构特征就是里面的元素是唯一且无序。
无序意味着不便于或不能随机存取操作,就不适用“第2个”这样读。
强行去这么去获得数据,是违反STL设计初衷的。拿错了工具,拿钳子做螺丝刀的活。
如果要用于第n个这样的随机操作,请转换或直接适用Vector这样的容器。Vector的随机效率是O(1)最快。
应用stl的关键在于选择合适的容器。
set
int i = 0;
for(p = s.begin();p != s.end();p++,i++)
{
if(i == 1)//第2个数
{
cout<<*p; //输出
break;
}
}