Вот проблема, которую я пытаюсь решить ....Поиск и сортировка
Шелл рода является изменение пузырьковой сортировки. Вместо сравнения смежных значений , сортировка оболочки адаптирует концепцию из бинарного поиска, чтобы определить «пробел» , по которому сравниваются значения до того, как произойдет обмен. В первом проходе промежуток составляет половину размера массива. Для каждого последующего прохода размер зазора разрезается пополам. Для окончательного прохода размер зазора равен 1, поэтому это будет так же, как и сортировка пузырьков. Проходы продолжаться до тех пор не свопы не происходит
Вот мой код:
public class Shellsort {
protected int[] array= {9,6,8,12,3,1,7};
protected int gap;
public Shellsort() {
gap=array.length/2;
for (int y=0; y<=gap; y++){
for(int a=gap; a<=array.length; a++){
if(array[y]>array[array.length]){
swap(array[y],array[array.length]);
}
a++;
y++;
}
}
public int swap (int x, int z){
x=array[y];
z=array[array.length];
return (z, x);
}
}
}
Это то, что я был в состоянии прийти с, кто-то может порекомендовать мне некоторые советы/вход для отделки этого проблема.
Вашего 'swap' не может работать. – Amadan