我昨晚问了一个关于如何在{+ 1}中使用C ++中的双链表的问题。 我设法让它工作,但现在我想合并两个列表,但我不能 让它工作。我的代码不多,对不起。我试过的一切 绝对毫无意义。我想如果有人能给我一些提示 从哪里开始,或者如何做到这一点,我要去的信息 提供。
这就是我在开始时所拥有的:
sort()
我相信我只需要这些。
我在网上查看了一些例子,但这对我没有任何意义。它 看起来和我现在的情况有很大的不同。显然它应该是很多 比做一个排序功能更容易,我几乎没有遇到任何麻烦。
任何解释/提示将不胜感激!而且我再次感到抱歉 由于缺乏代码,我只是不知道从哪里开始。
答案 0 :(得分:2)
您实际上可以通过多种方式执行此操作
看起来你正试图不做。 3在这里。
在这种情况下,您可以
然而,这将破坏原始列表。我认为将它们复制到第三个列表会更好。
答案 1 :(得分:1)
for_each(auto x in list2name)
{
list1name.push_back(x);
}
或者如果您正在使用C++ 11
for(auto x : list2name)
{
list1name.push_back(x);
}
答案 2 :(得分:0)
如果您已将std :: list用作链接列表,则可以始终使用现有的merge()函数http://www.cplusplus.com/reference/stl/list/
如果这是您自己实现的内容,只需获取其中一个列表的尾部并使用以下内容:
tail = list_1.get_tail();
tail.set_next(list_2.get_head())
基本上获取列表1中的最后一个条目,然后将下一个elemt设置为列表2的第一个元素。
我仍然对你所追求的事情感到困惑,但这是我能想到的最基本的方式。 然后,我可能会完全离开。 祝你好运