1
我有一个指向对象的指针排序向量
vector<object*>* vec;
这恰好持有信息,当前可与其他物体发生碰撞物体的向量。这很棒 - 但我需要根据距离根对象的距离对这个向量进行排序,我不知道最好的方法来做到这一点。
因为它代表的对象进行排序另一个结构
struct tempsort{
int distanceFromObject;
object* obj;
}
的另一个临时矢量有了这样的功能:
bool sorter(tempsort* first, tempsort* second){
return first->distanceFromObject < second->distanceFromObject;
}
实现:
vector<tempsort*> tosort;
for (int a = 0; a < vec->size(); a++){
tosort.push_back(new tempsort);
tempsort.distanceFromObject = distanceBetweenObjects(host,(*vec)[a]);
tempsort.obj=(*vec)[a];
}
sort(tempsort.begin(),tempsort.end(),sorter);
的对象现在解决冲突。
Tempsort的物体现在被擦除。
但是我真的很想排序原始矢量,而不是创建这个临时矢量。那可能吗?如果是这样,怎么样?
啊哈!那很完美! – ultifinitus
哎呀,在分拣机结构的末尾错过了分号 – ultifinitus