能不能通过 it 向set<set<int> > C1 中插入数据, 比如下面的,怎样向 C_1.begin(); 中插入一个元素? 5

#include<iostream>#include<set>usingnamespacestd;intmain(){set<int>coll1,coll2;coll1.... #include<iostream>
#include<set>
using namespace std;
int main()
{
set<int> coll1,coll2;
coll1.insert(3);
coll1.insert(9);
coll2.insert(11);
coll2.insert(12);
set<set<int> > C_1;
C_1.insert(coll1);
C_1.insert(coll2);
set<set<int> >::iterator iter=C_1.begin();
while(iter!=C_1.end())
{
set<int>::iterator it=iter->begin();
while(it!=iter->end())
cout<<*it++<<endl;
++iter;
}
}
展开
 我来答
reverse_walker
2011-09-04 · TA获得超过590个赞
知道小有建树答主
回答量:377
采纳率:0%
帮助的人:462万
展开全部
while(iter!=C_1.end())
{
iter++->insert( 5 ) ; // C_1中的每个set都插如一个新元素5
}
我可能没理解你的意思,但是用iter插入一个元素是微不足道的事情.
如果用it, it是指向int的iterator.你必须通过容器对象iter才可以插入啊.
如果你要用C_1.begin()来插入一个set<int>的对象,你要相信一个事实,set<>本身是平衡二叉树,如果用C_1.insert( iterator, val),iterator只是提供参考的,val还是会根据它的值插入合适的地方,所以这问题就退化为C_1.insert( coll1)的问题了.
追问
// 好像你说的方法不行
/* 错误信息 ,我用的是 Visual C++ 6.0
: error C2839: invalid return type 'int *' for overloaded 'operator ->'
: error C2227: left of '->insert' must point to class/struct/union
*/
追答
可以的.我VS2008,要使用STL就不要用VC6.0.很多标准化的东西VC6.0都编译不过
不如你拆开iter->insert( 5 ), iter++ ;
微微笑起来皮卡丘
2011-09-04
知道答主
回答量:23
采纳率:0%
帮助的人:3.7万
展开全部
抱歉,没学过C1,只学过VF。
追问
C1 仅仅是一个变量的名字啊!
追答
哦,抱歉,理解错了。但是VF中好像没提到“coll”的用法。你的计算机书上应该提到有噻,弄清楚每个单词的意思和用法,再一句一句地读程序,会解出答案的。慢慢来嘛。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WmxingLong
2011-09-06
知道答主
回答量:21
采纳率:0%
帮助的人:2.5万
展开全部
你上面的代码用 java编写,还是c++ 啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式