Так как это выглядит как домашнее задание, вот мой совет:
После шага разбиения распечатайте ваш массив вместе со значением и положением оси и визуально убедитесь, что разбиение выполнено правильно. Если этого не произошло (как я подозреваю, так), добавьте еще несколько операторов печати - или используйте отладчик - чтобы понять, в чем проблема с вашей программой.
Как только разделение заработает, перейдите к рекурсии. Это сравнительно просто: все, что вам нужно сделать, это убедиться, что QS
вызывает себя с правильными i
и j
(оба раза), и что базовый случай обрабатывается правильно.