有人可以澄清一下“<”在比较两个字符串c ++时会怎么做

时间:2015-05-06 17:06:12

标签: c++ c++11 stl

我有一个涉及STL排序算法的过去的纸质问题。它正在对矢量进行排序,我知道排序算法使用“<”按升序排序运营商。但是,我想知道如何比较两个字符串?如何找到字符串的值? (所以我可以在考试中找出比另一个更小的字符串。)

1 个答案:

答案 0 :(得分:1)

字符串被排序lexicographically。将第一个字符串中的每个字符与第二个字符串中的等效字符进行比较,直到有两个字符彼此不匹配或直到一个字符串结束。例如,以下陈述是正确的:

"aaab" < "aaac" // because 'b'<'c'
"aaa"  < "aaab" // by convention shorter string are smaller than larger ones
"aaa0" < "aaab" // because '0'=48 and 'b'=98
"aaaB" < "aaab" // because 'B'=66 and 'b'=98

使用相应字符的数值(例如,使用ASCII)执行字符比较。