二维vector初始化,赋值

二维vector初始化,赋值一 二维 vector 初始化 1 采用构造函数 vector lt vector lt int gt gt vec 10 vector lt int gt 8 10 行 8 列 全部初始化为零 2 添加元素 每次添加一行 inta 1 2 3 4 vector lt int gt ivec a a 4 数组初始化 vector 见最下面

一。二维vector初始化

1. 采用构造函数 vector

> vec(10, vector

(8)); //10行8列,全部初始化为零

2.添加元素(每次添加一行)

int a[] = { 1, 2, 3, 4 };

vector

ivec(a, a + 4);//数组初始化vector,见最下面(也可以不用数组初始化,直接{}初始化vector)

vector

> m;

m.push_back(ivec);

ivec[0] = 5;

ivec[1] = 6;

ivec[2] = 7;

ivec[3] = 8;

m.push_back(ivec);

ivec[0] = 9;

ivec[1] = 10;

ivec[2] = 11;

ivec[3] = 12;

m.push_back(ivec);

ivec[0] = 13;

ivec[1] = 14;

ivec[2] = 15;

ivec[3] = 16;

m.push_back(ivec);

3.直接初始化

vector

> board = {
{‘X’,’.’,’.’,’X’},{‘.’,’.’,’.’,’X’},{‘.’,’.’,’.’,’X’}};

 

二。使用数组来初始化 vector 对象

只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:

程序一:

  1. #include
  2. #include
  3. #include
  4.  
  5. int main()
  6. {
  7. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
  8. // 指出拷贝区域范围,使用数组初始化 vector 对象
  9. vector

    iv(begin(arr), end(arr));
  10.  
  11. for (auto c : iv) // 输出 vector 对象的内容以验证结果
  12. cout << c << ' ';
  13. cout << endl;
  14.  
  15. return 0;
  16. }

 

程序一的运行结果为:

11 32 41 25 67 100 88 233,与期望中完全一致

程序二:

 

  1. #include
  2. #include
  3. using std::vector;
  4. using std::cout;
  5. using std::endl;
  6.  
  7. int main()
  8. {
  9. int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组
  10. // 指出拷贝区域范围,使用数组初始化 vector 对象
  11. vector

    iv(arr + 2, arr + 7);
  12.  
  13. for (auto c : iv) // 输出 vector 对象的内容以验证结果
  14. cout << c << ' ';
  15. cout << endl;
  16.  
  17. return 0;
  18. }

 

程序二的运行结果为:

41 25 67 100 88,与期望中完全一致

需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。

 

三。

vec.size()是行数

vec[0].size()是列数

for (int i =0;i

{

for (int n = 0; n

{

cout << vec[i][n] << " ";

}

cout << endl;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/201726.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午8:45
下一篇 2026年3月20日 上午8:45


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号