Вариант сортировки числового ряда (от малого к великому) методом шейкера. Считается более оптимизированным и быстрым алгоритмом сортировки по сравнению с сортировкой пузырьковым методом. Однако, есть тоже ряд отрицательных сторон (ну куда же без них). Подробно обо всём расскажет google, ну а ниже приведён код функции. Область применения так же достаточно широка.