将一个向量附加到另一端并对一个向量进行排序

appending one vector to another end AND sorting one vector

本文关键字:向量 一个 排序      更新时间:2023-10-16

我有一些关于向量的问题;

  • 如何以省时的方式将一个向量附加到另一端?
  • 如果一个向量的类型是 NODE,如何使用 STL 特征对其进行排序?(对于节点,请看下面)

    前任

    struct NODE {
               char name;
               .... // other things
    };
    
  • std::vector::insert() 可用于从任何使用迭代器协议的内容中插入
  • std::sort() 按升序排序,并采用可选的比较函数(或任何带有 operator() 的函数),该函数接受元素ab,如果a < b,则应返回 true。

将一个向量附加到另一个向量:

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;
}