並べ替えようとしています
std::vector< std::vector< std::string> > perm;
std::sort
アルゴリズムヘッダーから使用しようとしています
私はそれを
std::sort( perm.begin(), perm.end(), sortPerms);
これは私のソート関数です:
bool sortPerms (const std::vector<std::string> &i, const std::vector<std::string> &j) {
for(unsigned int x = 0; x < i.size(); x++) {
if(i[x] != j[x])
return false;
}
//both are equal
return true;
}
並べ替えの目的は、std :: uniqueを呼び出して、一意の値を持つベクトルを取得することです。cygwinでgccを使用してコンパイルすると、エラーは発生しませんが、繰り返しが発生します。また、Visual Studio 2010を使用してコンパイルすると、operator<が定義されていないというエラーが発生します。ステップスルーしましたが、定義したものではなく、独自のソート関数を使用しようとしています。
これを修正する方法がわかりません、何か提案はありますか?
その他の詳細:すべてのベクトルが同じサイズになることが保証されています。その目的は、文字列の元のベクトルのすべての順列のベクトルです。各文字列はコマンドであり、これらのコマンドをシャッフルできるさまざまな方法をすべて探しています。だから私は重複を取り除く必要があります。