我有一个关于向量中对象排序的问题
我的对象由x,y和civ组成。所以我想知道如何按降序对文明的值进行排序,同时保留附加到它的x和y的值..
original
X: 4 Y: 5 CIV: 10
X: 3 Y: 2 CIV: 30
X: 3 Y: 3 CIV: 05
sorted
X: 3 Y: 2 CIV: 30
X: 4 Y: 5 CIV: 10
X: 3 Y: 3 CIV: 05
missionplan.cpp
for(int j=0; j < 5; j++)
{
for(int i = j; i < topfive.size(); i++)
{
if(topfive[i].getcivIndex() < topfive[i].getcivIndex)
{
topfive[i].swap(topfive[i]);
}
}
pointtwoD = topfive.at(i);//display all data starting from the first index
pointtwoD.displayPointdata();
}
答案 0 :(得分:0)
您的代码中有错误。
if(topfive[i].getcivIndex() < topfive[i].getcivIndex) //The second i should be j
{
topfive[i].swap(topfive[i]); // which should be topfive[j].swap(topfive[i])
}