vecotr中使用sort进行自定义排序问题

vector可以使用sort进行排序

1、vector中是基本类型是,直接进行排序操作

sort(vec.begin(),vec.end());

2、vector中是结构体类型,需要自定义排序逻辑

comp(const struct& a, const struct& b)

sort( vec.begin() , vec.end(), comp );

注意点:如果comp函数是类成员函数,必须是静态成员函数,不然类成员函数会自带一个this指针,所有的类成员函数都隐含一个this指针参数,会导致函数原型与sort中函数原型不一致而报错。

所以自定义排序函数,可以在类外定义,或者定义为类的静态成员函数。

 

你可能感兴趣的:(编程语言——C++)