zoukankan      html  css  js  c++  java
  • vector二维数组

    一、定义二维数组的两种方式:

    //初始化一个m*n的二维数组
    vector<vector<int> > array(m);
    for(int i=0;i<m;i++) 
    {
        array[i].resize(n);
    }
    //创建一个row行,column列(初始值均为0)的二维数组
    vector<vector<int>> vec(row,vector<int>(column,0));

    C++构建二维动态数组

    int **p;
    p = new int*[10];    //注意,int*[10]表示一个有10个元素的指针数组
    for (int i = 0; i < 10; ++i)
    {
        p[i] = new int[5];
    }

     

    二、使用迭代器对二维数组遍历

    void reverse_with_iterator(vector<vector<int>> vec)
    {
        if (vec.empty())
        {
            cout << "The vector is empty!" << endl;
            return;
        }
    
        vector<int>::iterator it;
        vector<vector<int>>::iterator iter;
        vector<int> vec_tmp;
    
        cout << "Use iterator : " << endl;
        for(iter = vec.begin(); iter != vec.end(); iter++)
        {
            vec_tmp = *iter;
            for(it = vec_tmp.begin(); it != vec_tmp.end(); it++)
                cout << *it << " ";
            cout << endl;
        }
    }

    三、练习题

    867. 转置矩阵

    给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。

    矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。

    class Solution {
    public:
        vector<vector<int>> transpose(vector<vector<int>>& matrix) {
            int row=matrix.size();      //表示原矩阵有row行
            int column=matrix[0].size();  //表示原矩阵有column列
            vector<vector<int>> vec(column);
            for(int i=0;i<column;i++)
            {
                vec[i].resize(row);
            }
            //等价于vector<vector<int>> vec(column,vector<int>(row,0));
            for(int i=0;i<row;i++)
            {
                for(int j=0;j<column;j++)
                {
                    vec[j][i]=matrix[i][j];
                }
            }
            return vec;
        }
    };
    天晴了,起飞吧
  • 相关阅读:
    链表(1) --- 单链表
    .Net性能调优-MemoryPool
    .Net性能调优-WeakReference
    .Net性能调优-ArrayPool
    .Net Core 中的选项Options
    .Net Core配置Configuration源码研究
    .Net中异步任务的取消和监控
    nginx 实现jira反向代理
    k8s-harbor拉取镜像权限问题-imagePullSecrets
    Studio 3T 重置试用日期
  • 原文地址:https://www.cnblogs.com/jianqiao123/p/14444665.html
Copyright © 2011-2022 走看看