Объединить два списка в C ++ в O (1) Сложность - PullRequest
0 голосов
/ 04 мая 2019

Мы можем объединить два связанных списка за O (1) раз, если мы знаем последний элемент.Итак, есть ли способ объединить два списка в C++, используя встроенные структуры данных, или я должен сам реализовать связанный список, а затем использовать его?

Ответы [ 2 ]

5 голосов
/ 04 мая 2019
std::list<int> l1 = create();
std::list<int> l2 = create();
l1.splice(l1.end(), l2);

Обратите внимание, что это очищает l2 и перемещает его элементы в l1.

0 голосов
/ 04 мая 2019

Попробуйте этот код, это объединит два списка

list<int> list1 = { 5,9,0,1,3,4 };
list<int> list2 = { 8,7,2,6,4 }; 
list1.merge(list2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...