可能重複:
How to use std::sort with a vector of structures and compare function?排序對象的屬性對象的矢量
我有一隻貓對象(什麼?),和這顯然排序貓對象catSort對象。以下是類
class cat {
public:
int age;
};
class catSorter {
public:
vector<cat> cats;
vector<cat> SortCatsByAge();
void AddCat(cat new_cat);
};
void catSorter::AddCat(cat new_cat){
this->cats.push_back(new_cat)
}
vector<cat> catSorter::SortCatsByAge(){
// Sort cats here by age!
}
cat tim;
tim.age = 10;
cat mark;
mark.age = 20
cat phil;
phil.age = 3;
catSorter sorter;
sorter->AddCat(tim);
sorter->AddCat(mark);
sorter->AddCat(phil);
std::<vector> sortedcats = sorter->SortCatsByAge();
我在排序矢量時遇到困難,我該如何去做這件事?我是否應該循環訪問cats
屬性並將它們存儲在臨時向量中,然後返回該屬性?有沒有更簡單的方法來做到這一點?
[查找了std :: sort](http://msdn.microsoft.com/en-us/library/ecdecxh1(v = vs.80).aspx)你會想用一個謂詞來告訴它如何對'cat'對象。 – 2012-03-14 17:03:17