急!关于 set_union()函数的使用,散分!!

lb2261981 2004-05-08 12:26:28
请教各位高手:小弟弟有个问题不得其解,在下面的程序段中,在执行 set_union 函数时,函数进入死循环。(用vector代替set定义变量时,就没问题。)
请指教!!

#include <iostream>
#include <set>
#include <algorithm>
using namespace std;

void main()
{
//定义;
std::set<char> temp1,temp2,s;
std::set<char>::iterator Result,Iter;
//初始化;
temp1.insert('a');
temp1.insert('c');
temp1.insert('h');
temp1.insert('z');
temp2.insert('r');
temp2.insert('a');
temp2.insert('e');
temp2.insert('p');
//并运算;
Result = set_union (temp1.begin (),temp1.end (),temp2.begin (),temp2.end(),s.begin ());
//输出;
for ( Iter = s.begin( ) ; Iter != Result ; Iter++ )
{
printf("%c", *Iter);
}
printf("\n");

}
...全文
149 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname 2004-05-08
  • 打赏
  • 举报
回复
我的机器没有问题
vs.net 2002
Wolf0403 2004-05-08
  • 打赏
  • 举报
回复
对不起对不起,居然把 QQ 上的消息发到这里了。。。
Wolf0403 2004-05-08
  • 打赏
  • 举报
回复
睡了十个小时才起来啊
lb2261981 2004-05-08
  • 打赏
  • 举报
回复
非常感谢 goodname(叶落知秋) 的回答。
已经结帖了。
goodname 2004-05-08
  • 打赏
  • 举报
回复
#include <iostream>
#include <set>
#include <algorithm>
using namespace std;

void main()
{
//定义;
set<char> temp1,temp2,s;
//初始化;
temp1.insert('a');
temp1.insert('c');
temp1.insert('h');
temp1.insert('z');
temp2.insert('r');
temp2.insert('a');
temp2.insert('e');
temp2.insert('p');
//并运算;
set_union (temp1.begin(),temp1.end(),temp2.begin(),temp2.end(),inserter(s,s.begin()));
//输出;
for (set<char>::iterator Iter = s.begin(); Iter != s.end(); Iter++)
{
cout<<*Iter;
}
cout<<endl;
}
goodname 2004-05-08
  • 打赏
  • 举报
回复
sorry,没有输出结果。

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧