【发布时间】:2014-08-19 04:00:10
【问题描述】:
我有一个字符串列表,其中包含以下单词:Amount、bird、ant、Bob、David、case... 我需要按字典顺序对它们进行排序(数量、蚂蚁、鸟、鲍勃、案例、大卫......)
我使用插入排序,结果输出是前面全是大写字母,然后是小写字符串(Amount、Bob、David、ant、bird、case...)。
我的问题是将这些单词按字典顺序排序的更好方法是什么?我是否必须将每个单词更改为小写然后进行比较?或者我们有更好的方法来比较它?
【问题讨论】:
-
@user3923936 什么是“字符串列表”?它们是字符数组还是其他?
-
stackoverflow.com/a/17330790/434551 提供了不区分大小写的字符串比较功能。
-
根据上面的 cmets,给定一个不区分大小写的比较函数,对
std::list进行排序涉及使用Compare调用不敏感比较的函数调用sortmember function(检查第一个 arg 小于第二个)。如果您的意思不是字面意义上的list,那么将std::sort与迭代器和类似的比较函子一起使用。
标签: c++ string sorting insertion-sort