• 利用vector定义矩阵


    熟悉c风格的矩阵定义,那么用纯c++特性vector如何定义一个矩阵呢?

     1 # include<vector>
     2 # include <iostream>
     3 int main()
     4 {
     5     using namespace std;
     6     vector<vector<int>> array(3);
     7     const int COL = 4;
     8     for ( int i=0; i < 3; i++)
     9     {
    10         array[i].resize(COL);
    11     }
    12     array[2][3] = 5;
    13     cout << "array[3][3]:" << array[2][3] << endl;
    14     cout << "array的行数" << array.size() << endl;
    15     cout << "array的列数" << array[0].size() << endl;
    16     system("pause");
    17     return 0;
    18 
    19 }

    上述代码定义了3行4列的矩阵,主要是正确理解vector<vector<int>>array(3),我们应该如何理解?

    回到vector的构造函数,array(3)表示使得向量array保留3个元素。即本质上,array是一个向量,这个向量的大小为3,;而这个向量的每个元素是vector<int>,即这个向量的每个元素是向量。当然每个元素的大小在第六行并未定义,可见array的本质是向量,并不是矩阵,并没有矩阵这个概念,矩阵只是向量的每个子元素也是向量,且恰巧这些子元素的长度也一致而已,仅此而已。

    以及对array.size()和array[0].size()的理解。知道了对array的定义,自然我们就知道了array.size()表示的是向量array的长度,array[0].size()为其元素的长度。也就是本质上,我们应该只有向量的概念。

  • 相关阅读:
    ES6中map数据结构学习
    React中,input外边如果包一个div,可以把input的onChange事件绑定到div上面,并且也生效
    筛数组
    字符串slice、substring、substr
    DVA-subscriptions
    react hooks学习
    React会自动把虚拟DOM数组展开
    React+Redux+Dva学习
    [转] 关于卫星轨道的科普
    边缘计算在智慧城市中的应用【摘录】
  • 原文地址:https://www.cnblogs.com/shaonianpi/p/11391611.html
Copyright © 2020-2023  润新知