我想遍历一个向量来查找具有给定ID的记录。 ID由用户提供。下面的代码将按照它们在向量中出现的顺序返回具有给定ID的所有值。如何按价格订购结果,比如从最低到最高?
for(Seek = List.begin() ; Seek !=List.end() ; Seek++) {
if(Seek->GetID() == Input)
cout <<"Price: " << Seek->GetPrice() << endl;
答案 0 :(得分:3)
使用C ++标准库排序功能与自定义比较应该做你想要的。我不知道 Seek 的类型是什么,但这里有一些东西可以帮助你入门。
struct compareSeeks {
bool operator() (const Seek& lhs, const Seek& rhs) { return (lhs.price < rhs.price);}
} mycompare;
// method code here...
sort(List.begin(); List.end(), mycompare);
您可以在此处查看更多http://www.cplusplus.com/reference/algorithm/sort/。
[更新]我假设您的列表已经过滤了正确的ID,所以我只关注问题的排序方面。