-1

vector についていくつか質問があります。

  • 時間効率の良い方法で、あるベクトルを別の端に追加するにはどうすればよいですか?
  • タイプが NODE の場合、STL機能を使用して1つのベクトルをソートするにはどうすればよいですか? (NODE については、以下を参照してください)

    struct NODE {
    
               char name;
    
               .... // other things
    
    };
    
4

2 に答える 2

2

あるベクトルを別のベクトルに追加するには:

myVec.insert(myVec.end(), myVec2.begin(), myVec2.end());
// if your compiler supports C++11 you can do:
myVec.insert(end(myVec), begin(myVec2), end(myVec2));

ベクトルを並べ替えるには:

vector<Node> myVec;
// add elements...
sort(myVec.begin(), myVec.end());

ノードは < 演算子を定義する必要があります。

bool operator<(const Node & rhs, const Node & lhs){
    return rhs.name < lhs.name;
}
于 2012-05-01T11:07:12.897 に答える
2
  • std::vector::insert()は、反復子プロトコルを使用するものから挿入するために使用できます
  • std::sort()は昇順でソートし、オプションの比較関数 (またはそのoperator()上にあるもの) を取り、要素を取りabtrue の場合は true を返す必要がありますa < b
于 2012-05-01T11:01:00.993 に答える