2017-10-04 16 views
0

私はファイルを読み取ってをint、そして値をstd::vectorとした最大の単語を取得するプログラムを用意しています。私は最大の単語を印刷する必要がありますが、ソートに問題があります。出力は著作権、パブリシン、ユニバーサル、青写真 ですが、青写真、著作権、ユニバーサル、パブリシーン大文字と小文字の並べ替えベクトル

どうすればいいですか?ベクトルは大文字と小文字をソートしませんか? は、ここで私がこれまで持っているものです。

string temp; 
stringstream ss(line); 
while(ss >> temp) { 
    int wordlength = temp.length(); 
    wordit = wordbycount.find(wordlength); 
    if (wordit != wordbycount.end()) { 
     vector<string> arrayofLongest = wordit->second; 
     std::vector<string>::iterator iterator1 = find(arrayofLongest.begin(), arrayofLongest.end(), temp); 
     if (iterator1 == arrayofLongest.end()) { 
      wordit->second.push_back(temp); 
     } 
    } 
    else { 
     wordbycount[wordlength] = temp; 
    } 
} 
+0

ベクトルをstd :: sort()を呼び出すためにもう1行追加することをお勧めします。 –

答えて

0

ドゥベクトルは、大文字と小文字をソートしていませんか?

std::vector

Sソート(単に要素を追加)しません。

std::vector s挿入順序を維持します。

インサート・アンド・オーダー・コンテナを使用する場合は、std::set(またはstd::multiset)を使用する必要があります。

関連する問題