c++ - 按特定成员 C++ 对向量进行排序
问题描述
是否可以按类vector
的特定成员对 a 进行排序?
我有一堂课叫Car
:
class Carro {
private:
int positionX;
int place;
public:
Carro(string marca, float energiaInicial, float energiaMaxima, int velocMax, string model = "modelo base");
~Carro();
void setPosition(int posX);
void setPlace(int place);
int getPositionX() const;
int getPlace() const;};
以及汽车的向量:vector<Car*> raceTrack;
我想要做的是根据汽车的位置对这个向量进行排序。如果 A 车领先于 B 车,则 A 获得第一名,B 获得第二名,以此类推。
PS想象一下所有的汽车都已经定义了一个地方(例如:汽车A有1个,汽车B有2个,汽车C有3个......)
解决方案
以下应该有效(未经测试):
std::sort(raceTrack.begin(), raceTrack.end(), [](const Carro* a, const Carro* b) {
return a->getPlace() < b->getPlace();
});
推荐阅读
- vba - 打开文档后最小化 Word
- python - 具有多个客户端的套接字服务器
- d3.js - 添加新同级时树不更新节点位置
- html - 我可以插入吗
里面 - java - 合并 dex 档案 Android Studio 时出错
- powerbi-embedded - Power BI 嵌入
- android - Evernote Android SDK 在生产环境中登录 OAuthException
- http - 将响应 gzip 压缩发送到未指定 Accept-Encoding: gzip 的客户端是否是一个错误?
- c - 如何从数组中获取每个字符并将其放入另一个字符中?
- python - 检查元组中的两个元素是否具有相同的值