В Java класс String реализует Comparable, что означает полное упорядочение объектов String. Этот порядок называется естественным порядком класса , а метод класса compareTo
называется его естественным методом сравнения. Набор объектов String также исчисляется в математическом смысле.
Мне нужна функция, которая принимает строку и возвращает следующую в соответствии с естественным порядком строки.
Для математически наклонных
function(X) = Y, where Y is such that: 1) X < Y
2) for all Z, if X < Z, then Y <= Z.
Можете ли вы вспомнить функцию, которая делает это для строк? (Соответствующие ^[A-Za-z0-9]+$
. Мне все равно, но вы можете избежать управляющих символов или чего-либо, что может вызвать головную боль при кодировании, недопустимо в XML, имеет разрывы строк или подобные «проблемные» символы.)