Как правило все сортировки сравнивают элементы между собой, однако это не обязательно. Расскажу о двух, которые используются в алгоритмах и в частности в последних JDK при сортировках при определенных сценариях. Cортировка подсчётом (Counting Sort) Лучше всего сортировка подсчётом работает при таких условиях: Принцип следующий - определяется дополнительный массив для подсчета вхождений элементов размером равному диапазону значений. Например, 1млн размер исходного массива из элементов в диапазоне [1, 200] (или пример тип данных short) - длина массива подсчета таким образом будет 200. Проходим по исходному массиву и в соответствующей значению ячейке массива подсчета увеличиваем значение на 1. Т.е. ведется подсчет количества вхождений значения в массив данных. После цикла во вспомогательном массиве подсчета у нас хранятся данные, сколько раз встречается каждый элемент. Далее формируем отсортированный массив, записывая подряд столько раз сколько их частота в массиве подсчета значений. Так