"Диффузия" - это нормальный алгоритм слияния двух отсортированных массивов. В С++ такое стандартно есть.
А можно сделать просто вставку в дерево обоих массивов, а потом из дерева обходом - опять массив.