【问题标题】:How Do I Get a subvector from a vector?如何从向量中获取子向量?
【发布时间】:2020-10-15 08:39:34
【问题描述】:

如何从下面的向量中访问 1,2,10?

D = [[1, 2, 10], [2, 3, 20], [2, 5, 25]]

int i=B[i][0]-1;
int j <= B[i][1]-1;

在解决问题时,我不得不在 for 循环中使用它们来检查答案。谁能帮帮我

【问题讨论】:

  • 欢迎来到 Stack Overflow。请阅读the help pages,接受SO tour,阅读How to Ask,以及this question checklist。最后请edit您的问题包括一个实际的minimal reproducible example
  • 我在您的问题中没有看到任何std::vectors。完全不清楚你在问什么。请edit 澄清。 B 到底是什么??
  • 编写一个访问B[0][ i ]的循环。否则,完全不清楚您需要什么帮助。请出示真实代码
  • D 在持有向量的向量时在语法上是不正确的。它应该使用{ 而不是[
  • ij 的预期值是多少?

标签: c++ logic stdvector


【解决方案1】:

你在找这个吗?

#include <iostream>
#include <vector>

int main()
{
  std::vector<std::vector<int>> d = { {1, 2, 10}, {2, 3, 20}, {2, 5, 25} };

  auto subvector = d[0];

  for (auto& value : subvector)
  {
    std::cout << value << ' ';
  }
  std::cout << "\n";

  // or (poor solution)

  for (int i = 0; i < 3; i++)
  {
    std::cout << subvector[i] << ' ';
  }
  std::cout << "\n";

  // or even

  for (int i = 0; i < 3; i++)
  {
    std::cout << d[0][i] << ' ';
  }
  std::cout << "\n";
}

【讨论】:

  • 为什么要复制子向量?更好的for (const auto&amp; value 或只是for (auto value
  • @idclev463035818 我知道,这只是为了清楚起见。 OP 看起来真的很困惑
猜你喜欢
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-17
  • 1970-01-01
  • 2011-10-05
  • 2016-05-18
  • 1970-01-01
  • 2010-09-30
相关资源
最近更新 更多