就本节讲的,如果比较两个字符串,字典序,应该如何比较,有没有类似于C中的函数cmp(a, b)
弱弱的问一句哈,下面代码调用没问题
func sortStringByLength(a:String, b:String) -> Bool {
return countElements(a) < countElements(b)
}
func sortStringByDictSequeceAndLength(a:String, b:String ) -> Bool {
if countElements(a) == countElements(b) {
return a < b //这部分这么写没问题
}
else {
return countElements(a) < countElements(b)
}
}
var list = ["d", "abc", "a", "acd", "b", "bc"]
sorted(list, sortStringByDictSequeceAndLength)
但, 这么写就不行,为啥?
var cmp:Bool = "abc" > "adc"
在两个字符串中使用大于号、小于号和等于等于就是做两个字符串之间的字典序比较了。