Записки программиста Программирование и не только

8Окт/120

Гномья сортировка (Gnome sort)

Гномья сортировка основана на технике, используемой обычным голландским садовым гномом (нидерл. tuinkabouter). Это метод, которым садовый гном сортирует линию цветочных горшков. По существу он смотрит на следующий и предыдущий садовые горшки: если они в правильном порядке, он шагает на один горшок вперёд, иначе он меняет их местами и шагает на один горшок назад. Граничные условия: если нет предыдущего горшка, он шагает вперёд; если нет следующего горшка, он закончил.
Дик Грун

Мой вариант реализации:

void gnom_sort(int[] mas) {
	int p = 2;
	int i = 1;
	for (; i < mas.length; ) {
		if (mas[i - 1] <= mas[i]) {
			p++;
			i = p;
		} else {
			int a = mas[i];
			mas[i] = mas[i - 1];
			mas[i - 1] = a;
			i--;
			if (i == 0) {
				p++;
				i = p;
			}
		}
	}
}
19Июл/120

[Алгоритмы] MAXimal

Нашел отличный сайт: http://e-maxx.ru/algo/
"Здесь представлено 145 алгоритмов. Ко всем алгоритмам даны краткие описания и программы на C++."

Также на сайте представлено большое количество книг по программированию