0
void sortVector(vector<simEvent>& eventVector){
simEvent temp = eventVector.at(0);
vector<simEvent> tempVector;
tempVector.clear();
int index = 0;
while(!eventVector.empty()){
for(int i=0; i<eventVector.size(); i++){
if(temp.getTimeOfEvent() > eventVector.at(i).getTimeOfEvent()){
temp = eventVector.at(i);
index = i;
}
}
eventVector.erase(eventVector.begin()+index);
tempVector.push_back(temp);
}
for(int i=0; i<tempVector.size(); i++){
cout << "Time: " << tempVector.at(i).getTimeOfEvent() << endl;
}
}
當我打印時,tempVector,所有的時間都是一樣的。我到處尋找答案,似乎找不到任何東西。有人可以給這個看看嗎?C++矢量不更新
您不會重置while循環中的臨時值,因此它保持爲初始eventVector中的最小值。 – skirkpatrick 2012-08-10 18:17:20