Я столкнулся с проблемой и нуждаюсь в вашем руководстве.В основном мне удалось создать этот метод Bubble Sort.Как я могу изменить это на Gap Sort, чтобы вместо сравнения соседних элементов каждый раз по списку сравнивались элементы, которые находятся на некотором расстоянии друг от друга (i), где (i) - целое число меньше n.Например, первый элемент будет сравниваться с элементом (i + 1), 2-й элемент с элементом (i + 2), n-й элемент с элементом (ni) и т. Д. Одна итерация завершается, когда все элементычто можно сравнить, сравнили.На следующей итерации i уменьшается на некоторое число больше 1, и процесс продолжается до тех пор, пока i не станет меньше 1
public static void bubbleSort (Comparable[] data, int maxlength){
int position, scan;
Comparable temp;
for (position = maxlength; position >= 1; position--){
for (scan = 0; scan <= position – 1; scan++){
if (data[scan].compareTo(data[scan+1]) > 0){
// Swap the values
temp = data[scan];
data[scan] = data[scan + 1];
data[scan + 1] = temp;
}
}
}
}