Я искал рекурсивную сортировку выбора, используя только 2 параметра:
- Массив, который нужно отсортировать
- значение k, которое указывает, до какого элемента он должен быть отсортирован.
Пример: SelectionSort(array[] a, int k) со значением {6,3,5,7,2} и k, равным 2, отсортирует первые 3 элемента и оставит нетронутыми последние элементы.
Я думал о том, чтобы начать с оператора if для k, равного 0, и если бы это было так, он просто вернул бы массив как есть, поскольку вы не можете отсортировать массив размером 1. Что-то вроде:
public int[] sort(int[] a){
a = selectionSort(a, n-1);
return a;
}
public int[] selectionSort(int[] a, int k){
if (k = 0){
return a;
}
else{
selectionSort(a, k-1 );
... (part i really don't know)
}
Я понятия не имею, как сделать часть «else», так как я знаю только, что он должен снова вызвать метод. Мне не разрешено создавать другие методы. Мне также нужно убедиться, что я использую ровно 2 параметра, ни больше, ни меньше.
Я должен работать с псевдокодом, но я немного понимаю Java, поэтому, если бы кто-то мог помочь мне, используя либо псевдокод, либо Java, это было бы очень полезно.