我是C ++的新手,我在学校完成任务,制作按字母顺序对字符串进行排序的程序。那么有人可以解释我如何做到这一点?
答案 0 :(得分:1)
使用std::sort
(第2版)并编写比较函数,按字母顺序而不是按字典顺序比较字符。如果这必须处理i18n / l10n那么这个函数可能更难写。
答案 1 :(得分:0)
首先,请不要让人们在这里做你的功课。但是,既然你已经完成了大部分程序,我会给你一些提示:
首先,您需要读取字符串,并以某种方式存储它们:
现在你可以使用内置函数std :: sort(但我猜你不允许使用它,因为这是家庭作业)或者你自己编写一个排序函数。
考虑如何搜索字符串中的特定字母的字符串/数组/向量(谷歌搜索' c ++搜索字符串'会给你一些方法)并考虑大写,小写和标点符号的影响
主要问题是计算机没有办法看到一封信是否出现在'之前。另一个 - 看看你是否能找到一种从字符转换为数字的方法(提示:使用与ASCII表结合使用)。
这就是我要给的所有信息,祝你好运!
编辑:关于排序方法的几句话
有一些主要的排序方法:
答案 2 :(得分:-1)
字符串按字母顺序进行比较。让我们花一点时间记住,在一天结束时,字符串是字符数组,让我们也记住字符本身有一个数值,范围从小写' a&# 39;大写' Z',' a'是字母表中的最低值,大写字母Z是最高值。因此,在窗帘后面,当比较两个字符串与比较运算符时,您将相互比较两个数值,如果它们碰巧是相同的,那么比较将被带到它们的字符串中的下一个字母。例如," dog"将首先放在"娃娃"如果你从最低到最高排序。
"dog" < "doll" //This will return true
现在,为了排序,我建议你在数据结构中查找排序方法,或者尝试自己想出字符串比较的方法。