我正在学习c ++和directx 9.我正在创建一个小游戏,我想拥有一个高分系统,我已经完成了文件的读写,我只是坚持如何排序和插入一个新的价值进入我的分数向量。
我将文件读入矢量的方法如下:
vector<int> Highscore::readFile()
{
int score;
highScoreIn.open ("Highscore.txt", ios::out | ios::binary);
if (highScoreIn.is_open())
{
while(highScoreIn>>score)
{
scores.push_back(score);
}
highScoreIn.close();
return(scores);
}
else cout << "Unable to open file";
}
我想要一个函数来检查传递给函数的整数,对照我存储在矢量得分中的5个值,然后将它插入到向量中的正确位置。任何有关这方面的帮助将不胜感激:)
答案 0 :(得分:2)
假设您的矢量从最大到最小排序
bool insert( vector<int> &v, int n ) {
for ( auto it = v.begin(); it != v.end(), ++it ) {
if ( *it < n ) {
v.insert( it, n );
v.pop_back()
return true;
}
}
return false;
}