Мне нужно произвести пересечение между некоторыми отсортированными массивами целых чисел в C. Я знаю, как найти пересечение между двумя отсортированными массивами, но мне нужно сделать это для более чем двух массивов, эффективно и без предварительного знания количества массивов. Я могу установить разумное ограничение на максимальное количество - скажем, пока десять. Эти массивы могут иметь длину от нескольких элементов до пары сотен тысяч элементов и ни в коем случае не обязательно иметь одинаковую длину.
Псевдокод для создания пересечения двух отсортированных массивов:
while i < m and j < n do:
if array1[i] < array2[j]:
increment i
else if array1[i] > array2[j]:
increment j
else
add array1[i] to intersection(array1, array2)
increment i
increment j
Я работаю с C, и мне нужно четкое объяснение, а не код.