在C ++中以O(1)复杂度连接两个列表

Mui*_*hin 0 c++ data-structures

如果我们知道最后一个元素,则可以在O(1)时间内连接两个链表。那么,有没有办法C++使用内置数据结构来连接两个List,或者我必须自己实现链接列表然后使用它?

Seb*_*edl 5

std::list<int> l1 = create();
std::list<int> l2 = create();
l1.splice(l1.end(), l2);
Run Code Online (Sandbox Code Playgroud)

请注意,这将清空l2并将其元素移动到l1