C++:在集合容器中打印出向量元素

Bio*_*ics 0 c++ vector

我想在set容器中打印出vector元素.我做了如下代码:

int main() {
  vector<int> aa = {3, 2, 1, 1};
  vector<int> bb = {5, 1, 7, 9};

  set<vector<int>> myset; // setVector

  myset.insert(aa);
  myset.insert(bb);

  for (auto elem : myset) {
    cout << elem << ", ";
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,此代码无法打印出矢量:(3, 2, 1, 1)(5, 1, 7, 9).

Jos*_* D. 5

你还应该将你的vector元素循环到里面myset.

for (auto const &elem : myset) {    // loop set elements
   for (auto const &v: elem) {      // loop vector elements
      std::cout << v << ", ";       // print each vector element
   }
   std::cout << std::endl;
}
Run Code Online (Sandbox Code Playgroud)