Две части к вопросу:
- как сортировать
- как применить это к алфавитной сортировке в целом (иначе как лексикографическая сортировка).
Два основных типа сортировки, которые наиболее подходят для сортировки по алфавиту:
Сравнительные сортировки встречаются чаще (отчасти потому, что они более общие в том, что они могут сортировать, отчасти потому, что применение радикальной сортировки к строкам переменной длины немного неудобно по сравнениюс сортировкой осей фиксированной ширины).Можно выбирать из множества компромиссов, но все они рассматривают фактическое сравнение двух элементов как «черный ящик», отдельный от самого алгоритма сортировки.
Таким образом, оставшаяся необходимая функциональность - это лексикографическое сравнение.Способ сравнения двух строк состоит в том, чтобы смотреть на каждый символ по очереди, пока не найдете первую пару, в которой они отличаются, и строка слева будет «меньше», если этот символ «меньше».Если вы не найдете различий, то либо строки одинаковой длины (в этом случае они равны), либо их нет (в этом случае более короткая строка «меньше»).
Если ваш набор символов ASCII, тогда довольно легко сравнивать символы в алфавитном порядке (с учетом регистра или без учета регистра).Если ваш набор символов полностью уникоден, то вам может потребоваться либо языковая поддержка, либо сторонняя библиотека, либо очень большая таблица свойств символов, чтобы получить именно тот алфавитный порядок, который вам нужен.