按相似度而不是按字母顺序排序

Sort by Similarity instead of Alphabetically

按字母顺序排序,例如在 Python 中使用 sorted() 将产生以下结果: a ab aa aab

如何才能实现以下目标? a aa ab aab

更具体地说,是否有一个约定俗成的词,或者是否需要实现自定义算法才能做到这一点?

遍历数组并创建一个新的 ArrayList。使用 loopString.compare(previousString);.

相应地添加到数组

确保字符串全部为小写或全部为大写。 由于 'a' 出现在 'b' 之前,它将按照您的要求执行。

这取决于您选择的编程语言等因素。例如,在 Java 中,您可以使用 Collections.sort(List<T> list, Comparator<? super T> c),为此您传递一个比较器,它可以做任何您想要做的事情,例如 return 基于相似性的比较值。在其他语言中,或者在自己实现排序算法时,您可以将标准值比较换成您自己的方法。

也就是说,我还是不明白你说的相似度是什么意思。据我所知,您想先按长度对字符串进行排序,然后再按给定长度的字母顺序排序。在这种情况下,您必须传递给上述方法的 Comparator 必须首先比较长度,如果它们相等,则比较两个字符串的值。