[英]What would be the optimal way to sort a long list of words in alphabetical order in C?
如标题所示,我需要按字母顺序对很多(数十万)字符串进行排序。 我有几个链表,每个链表包含特定长度的单词。 也就是说,我有6个字母字符串列表,7个字母字符串列表,...,10个字母字符串列表。
我当时在考虑使用基数排序,但是我想看看那里是否还有更好的选择,因为在按字母顺序排列所有单词长度相同的列表时,找不到任何特定的东西。
编辑:
我的单词列表非常长,大小令人发指。 我目前正在浏览列表,并将单词分类为大小类别。 也就是说,当我遇到长度为6的单词时,它将进入“ 6长度”列表。 在为每个单词执行此操作时,实际上是在创建一个新单词对象,其中包含原始单词及其按字母顺序排列的版本(例如,堆栈,ackst)。 我想按字母顺序排列每个“长度”列表,以便可以轻松地找到和组合字谜。
我认为长度与排序无关紧要,不是吗? 您没有解释您认为这将如何影响排序。
我推荐的对链表进行排序的方法:不可以。 :)而是对数组进行排序,并根据需要在链表之间进行转换。 这很可能会更快,更容易。
基本上:
qsort()
对数组排序。 当然,您可以对每个链接列表分别执行此操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.