C++ для начинающих.

12.6.1. Операция list_merge().

Void list::merge( list rhs, Compare comp );

Элементы двух упорядоченных списков объединяются либо на основе оператора "меньше", определенного для типа элементов в контейнере, либо на основе указанной пользователем операции сравнения. (Заметьте, что элементы списка rhs перемещаются в список, для которого вызвана функция-член merge(); по завершении операции список rhs будет пуст.) Например:

Int array1[ 10 ] = { 34, 0, 8, 3, 1, 13, 2, 5, 21, 1 };

Int array2[ 5 ] = { 377, 89, 233, 55, 144 };

List ilist1( array1, array1 + 10 );

List ilist2( array2, array2 + 5 );

// для объединения требуется, чтобы оба списка были упорядочены.

Ilist1.sort(); ilist2.sort();

Ilist1.merge( ilist2 );

После выполнения операции merge() список ilist2 пуст, а ilist1 содержит первые 15 чисел Фибоначчи в порядке возрастания.