merge 算法

wzyzb 2008-05-07 11:10:33
merge 能不能连接两个容器 比如list<B > t1,t2, B为类名
t1.merge(t2); 编程的时候提示错误
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sujiehua 2011-05-23
  • 打赏
  • 举报
回复
//merge(t1.begin(),t1.end(),t2.begin(),t2.end(),t3);
t3.begin()试试
wzyzb 2008-05-07
  • 打赏
  • 举报
回复
#include<iostream> //大家帮忙看下这个程序
#include<algorithm>
#include<list>
using namespace std;
class worker
{
private :
char name[10];
int age;
double salary;
public:
worker(char* s=0,int a=0,double b=0);
void setdata(char * name1,int age1,double wage);
void display();
};
worker::worker(char *s,int a,double b)
{
strcpy(name,s);
age=a;
salary=b;
}
void worker::setdata(char * name1,int age1,double wage)
{
strcpy(name,name1);
age=age1;
salary=wage;
}
void worker::display()
{
cout<<name<<"\t"<<age<<"\t"<<salary<<endl;
}
void main()
{
worker a1("ab",22,3000),a2("bb2",21,2800),a3("cb3",25,5000),a4("long",22,2873),a5("mong",27,7334),a6("nfd",34,84975);
list<worker >t1,t2;
//list<worker >t2,t3;
t1.push_back(a1);
t1.push_back(a2);
t1.push_back(a3);
t2.push_back(a4);
t2.push_back(a5);
t2.push_back(a6);
list<worker >::iterator iter;
for(iter=t1.begin();iter!=t1.end();iter++)
(iter)->display();
for(iter=t2.begin();iter!=t2.end();iter++)
(iter)->display();
t1.merge(t2);/* 从这里以下的句子都注释掉能正确运行,错误 提示说 c:\program files\microsoft visual studio\vc98\include\list(314) : error C2784: 'bool __cdecl std::operator <(const class std::list<_Ty,_A> &,const class std::list<_Ty,_A> &)' : could not deduce template argument for 'const class std::list<_Ty,_A> &'*/

//merge(t1.begin(),t1.end(),t2.begin(),t2.end(),t3);
for(iter=t1.begin();iter!=t1.end();iter++)
(iter)->display();
}
babyvox1999 2008-05-07
  • 打赏
  • 举报
回复
可以
taodm 2008-05-07
  • 打赏
  • 举报
回复
自己先装个msdn,查了再说。
jieao111 2008-05-07
  • 打赏
  • 举报
回复
哥们,查一下merge再用
template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator merge ( InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
OutputIterator result );

template <class InputIterator1, class InputIterator2,
class OutputIterator, class Compare>
OutputIterator merge ( InputIterator1 first1, InputIterator1 last1,
InputIterator2 first2, InputIterator2 last2,
OutputIterator result, Compare comp );

64,673

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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