Это зависит, в частности, от языка программирования по вашему выбору. В, скажем, Java, вы можете использовать Collections.sort(List<T> list, Comparator<? super T> c)
, для которого вы передаете компаратор, который может делать whategver, который вы хотите, например, вернуть значение сравнения на основе сходства. На других языках или при реализации алгоритмов сортировки вы можете просто заменить стандартное сравнение значений для своих собственных методов.
Тем не менее, я все еще не понимаю, что вы подразумеваете под подобием. Насколько я вижу, вы хотите упорядочить строки сначала по длине, а затем по алфавиту с определенной длиной. В этом случае Comparator
, который вам нужно будет передать упомянутому выше методу, необходимо будет сначала сравнить длины, а если они равны, значения двух строк.
Вы не указали, на каком языке это, поэтому я не знаю, что такое 'sorted'. Кажется, что это не похоже на алфавитную сортировку (поскольку 'ab' до' aa'). –
Как говорили другие, ваш вопрос бессмыслен. Сортировка довольно проста. Вы должны решить какой-то порядок вселенной элементов. Затем сортировка упорядочивает элементы в этом порядке. Для определения общего порядка недостаточно одной парной меры сходства. – Gene
В частности и точно, что вы подразумеваете под «сортировкой по подобию»? В первом списке содержится ошибка, когда «aa» и «ab» случайно транспонированы? –