转载百度+自己的理解如下
sort(t+1,t+n+1,cmp);三个参数分别什么意思?
就是sort函数的参数分别代表什么?这个函数的原型是:template <class RandomAccessIterator, class StrictWeakOrdering>void sort(RandomAccessIterator first, RandomAccessIterator last, StrictWeakOrdering comp);前两个参数指定了排序的序列,对first到last(不包括last)的元素进行排序,第三个参数指定了如何判断一个元素是否在另一个元素之前(可以理解为通常的小于关系)。对于你上边的调用,是对[t+1, t+n+1)中的元素(不包括t+n+1)进行排序,通过cmp判断一个元素是否小于另一个元素。
举列:
int str={1,2,3,4,5,6};
如果sort(str,str+6,greater<int>())
记住虽然加了6,但是我们知道str[6]是没有的,只有str[0]~str[5],所以加6是个开区间,不是闭区间,这一点在写程序的时候值得注意和理解。
本文解析C++中sort函数的参数意义。sort(t+1, t+n+1, cmp)用于对[t+1, t+n+1)区间内的元素进行排序,其中cmp是自定义比较函数。第一、二个参数指定排序范围,第三个参数定义元素间的比较规则。以实例说明开区间的使用,强调str[str.length()]不存在,因此sort(str, str+6)针对的是str[0]~str[5]。"
103497062,7986777,使用Java多线程高效查询大批量数据,"['Java多线程', '数据库查询', '性能优化', '并发编程']
459

被折叠的 条评论
为什么被折叠?



