2017-10-02 5 views
0

Der Versuch, ein cpp-Programm zu implementieren, das eine Liste von Publikationen nach dem Jahr sortiert, ohne eine Klasse zu verwenden.C++ Sortieren von Datentyp ohne Klassen oder Strukturen

Sagen wir, diese Informationen in einer Textdatei war, die jeweils durch eine tabspace getrennt:

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

Und in dieser Funktion habe ich in einer Liste diese Daten speichern (vorzugsweise mit Vektoren)

#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. 

} 

Meine Frage ist, wie speichere ich diese Daten in einem Vektor, so dass ich in einer späteren Funktion nur den gesamten Vektor nach dem Jahr sortieren kann? Außerdem muss ich iterieren, um zu sehen, ob es mehr als nur eine Informationszeile gibt.

+2

Mögliche Duplikate von [C++ 11 Sortierliste mit Lambda] (https://StackOverflow.com/Questions/22281962/C11-SortingList-using-Lambda) –

+0

'Vektor > 'kann nach der int-Komponente sortiert werden - done. Was ist der Grund, ** eine Struktur nicht ** zu benutzen? –

Antwort

0

Wenn sort(v.begin(),v.end()) auf vector< pair< int,tuple< string,string,string,string> > > v aufgerufen wird, sortiert es nach dem Int.

Verwandte Themen