gpt4 book ai didi

c++ - 在双端队列 C++ 中将所有元素从一个列表传输到另一个列表

转载 作者:行者123 更新时间:2023-11-28 07:19:28 24 4
gpt4 key购买 nike

我正在尝试构建一个函数,它将所有元素从一个列表转移到双端队列类中的另一个列表。例如,如果您有列表 1 {1,2,3} 和列表 2 {4,5}。我要做的是将列表 2 中的所有元素转移到列表 1 中,使其成为列表 1 {1,2,3,4,5}(不需要有序),之后列表 2 将为空。但是,我得到的结果列表根本不正确....请问我的代码有什么问题吗?谢谢

void meld(Deque<E>& other)
{

DNode<E>* a = _head;
DNode<E>* b = _tail;
DNode<E>* c = other.get_head();
DNode<E>* d = other.get_tail();
DNode<E>* temp = c;
b->set_next(temp);
temp->set_prev(b);
_size += other.size();
c = nullptr;
}

最佳答案

您可能需要将other 的内容设置为空。您发布的代码只是将 c 设置为 null 但 c 无论如何都是一个即将超出范围的局部变量。您可能需要更改 other._head = 0

请注意,您的代码不必要地设置了 ad。同样,temp 并不是真正需要的:您可以只使用 c 代替。

关于c++ - 在双端队列 C++ 中将所有元素从一个列表传输到另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19737930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com