Сортировка Шелла
- public void sort(int[] source) {
- int dist = source.length/2 - 1;
- boolean run = true;
- while (run) {
- run = false ;
- for (int i = 0; i < source.length - dist; i++) {
- if (source [i] > source [i + dist]) {
- int local = source[i];
- source[i] = source[i + dist];
- source[i + dist] = local;
- run = true;
- if (dist > 1) dist--;
- }
- }
- }
- }
Пример реализации сортировки Шелла. Вы так же можете превратить метод в метод пузырьковой сортировки убрав все изменения переменной dist и заменив её на 1