C++动态二维数组vector<vector<T>>详细讲解

前言

在本文章中,我们将要详细介绍一下C++中vector关于动态二维数组vector<vector>。

一、杨辉三角的引入

我们在介绍动态二维数组之前,先来看一下这道题目

在这里插入图片描述
在本题目中,我们很容易发现规律,两边数据为1,剩下的按照=一定的规律相加得来。
我们这样看或许不方便,我们来调整一下
在这里插入图片描述
我们利用c语言的方式很容易就会想到,这是一个二维数组。需要对数组内数据进行操作,最后返回这个二维数组。
但是我们来看一下C++的返回值
在这里插入图片描述
这是一个vector容器,里边还套用了一个vector。

二、底层逻辑

我们来看一下正常的vector
## 1.引入库

那么对于vector<vector>,我们仅把图中的数据1,2,3,4变换成一个vector不就可以了吗,我们画图来看一下
在这里插入图片描述
我们插入元素来看一下
在这里插入图片描述

三、代码实现

class Solution {
public:
    vector<vector<int>> generate(int n) 
    {
        vector<vector<int>> vv(n);
         //元素全部设置为1
         for(int i=0;i<n;i++)
         {
             vv[i].resize(i+1,1);
         }
         //修改数据
         for(int i=2;i<n;i++)
         {
             for(int j=1;j<i;j++)
             {
                 vv[i][j]=vv[i-1][j-1]+vv[i-1][j];
             }
         }
         return vv;
    }
};

总结

以上就是今天要讲的内容,本文仅仅详细介绍了C++动态二维数组vector<vector>,希望对大家的学习有所帮助,仅供参考 如有错误请大佬指点我会尽快去改正 欢迎大家来评论~~ 😘 😘 😘 😘

相关推荐

  1. C++vector转换为一vector

    2024-03-11 21:10:04       31 阅读
  2. c++ vector数组详细介绍

    2024-03-11 21:10:04       26 阅读
  3. Rust 动态数组Vector

    2024-03-11 21:10:04       11 阅读
  4. C++数组arr[3][4]与arr(3, vector<int>(4))的差异

    2024-03-11 21:10:04       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 21:10:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 21:10:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 21:10:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 21:10:04       18 阅读

热门阅读

  1. Linux信号机制

    2024-03-11 21:10:04       19 阅读
  2. PLIP,openbabel安装避坑

    2024-03-11 21:10:04       29 阅读
  3. LLDB-调试

    2024-03-11 21:10:04       18 阅读
  4. leetcode周赛388(1-3)

    2024-03-11 21:10:04       21 阅读
  5. 网络、UDP编程

    2024-03-11 21:10:04       15 阅读
  6. 安卓 Kotlin 面试题 31-40

    2024-03-11 21:10:04       26 阅读
  7. Rust 泛型使用过程中的 <T> 和 ::<T> 的区别

    2024-03-11 21:10:04       16 阅读
  8. 目标检测:Anchor-free算法模型

    2024-03-11 21:10:04       22 阅读