使用Vectors创建高分系统

时间:2013-05-08 16:36:31

标签: c++ directx

我正在学习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个值,然后将它插入到向量中的正确位置。任何有关这方面的帮助将不胜感激:)

1 个答案:

答案 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;
}