2017-10-02 3 views
0

クラスを使用せずに年ごとのパブリケーションのリストをソートするcppプログラムを実装しようとしています。C++クラスまたは構造体なしのデータ型の並べ替え

tabspaceで区切られた各者がこの情報をテキストファイルにあったとしましょう:

save_app "authors_list3" "title3" "conference2" 2010 "oral" 

そして、この機能では、私は(好ましくはベクターで)リストで、このデータを格納する必要が

#include <tuple> 
... 
void SaveApp(const vector<string>& tokens){ 

    string authors = tokens[1]; 
    string title = tokens[2]; 
    string venue = tokens[3]; 
    int year = atoi(tokens[4].c_str()); 
    string presentation = tokens[5]; 

    vector<tuple<string, string, string, int, string>> line; //I used this because there's no boost function. 

} 

私の質問は、このデータをベクターに保存する方法です。それで、後の機能で、年ごとにベクター全体を並べ替えることができますか?また、1行以上の情報があるかどうかを確認するために繰り返し行う必要があります。

+2

ラムダを使用した[C++ 11ソートリスト]の可能な複製(https://stackoverflow.com/questions/22281962/c11-sorting-list-using-lambda) –

+0

'vector > 'はintコンポーネントに従ってソートできます - 完了しました。 **構造体を使用しない理由は何ですか? –

答えて

0

が呼び出されたときには、vector< pair< int,tuple< string,string,string,string> > > vがintでソートされます。

関連する問題