Эта функция принимает в качестве аргументов оставшуюся часть массива и количество элементов в нем.Каждый раз, когда вы печатаете первый элемент, а затем рекурсивно вызываете оставшуюся часть.Вот пример:
array: 1, 2, 3, 4, 5, 6; N = 6
array: 2, 3, 4, 5, 6; N = 5
array: 3, 4, 5, 6; N = 4
array: 4, 5, 6; N = 3
array: 5, 6; N = 2
array: 6; N = 1
array: ; N = 0 return;