`
kmplayer
  • 浏览: 508786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

借助vector<vector<T> >,实现一个简单的矩阵

 
阅读更多
1,实例代码:
#include <iostream>
#include <vector>
using namespace std;

template<class T>
class Matrix
{
private :
    vector<vector<T> > _mat;

public :
    Matrix(int row, int col) //这个构造函数是关键
    {
        if (col>=0 && row>0)
        {
            _mat.resize(row);
            for (int i=0; i<row; ++i)
                _mat[i].resize(col);
        }
    }
    vector<T>& operator[](int i)
    {
        if(i>=0 && i<_mat.size())
            return  _mat[i];
    }
};

int main()
{
    Matrix<int> m(10, 10);
    cout << m[1][2]<<" "<<m[9][9];
}
分享到:
评论

相关推荐

    C++实现希尔伯特变换的4个步骤,附带代码示例.docx

    以下是一个简单的DFT概念代码片段,但实际实现需要调用FFTW库: ```cpp void fft(const std::vector&lt;double&gt;& input, std::vector&lt;std::complex&lt;double&gt;&gt;& output); ``` 2. **计算希尔伯特系数**: 希尔伯特...

    Vector初始化的各种写法

    这篇博客“Vector初始化的各种写法”可能探讨了如何在程序开始时设置和填充一个Vector对象的不同方法。虽然没有提供具体的博客内容,但我们可以根据标题推测并详细阐述一些常见的Vector初始化技术。 1. **默认初始...

    读取注释读取注释

    读取注释 读取一个文件内//后面的 和/**/里面的数据 #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;vector&gt; #include &lt;map&gt; using namespace std; pair&lt;vector&lt;string&gt;,string&gt; ZhuShi; vector&lt; pair...

    vector实现矩阵运算

    - 每个 `vector&lt;int&gt;` 对象代表矩阵的一行,`vector&lt;int&gt;(b)` 创建了一个长度为 `b` 的 `vector`,并且使用默认构造函数初始化每个元素为 0。 #### 知识点三:矩阵的填充与操作 - **填充矩阵**:可以通过循环遍历的...

    #include 的用法

    在C++编程语言中,`#include&lt;vector&gt;` 是一个非常重要的头文件,它提供了动态数组的功能实现——即 `std::vector` 类模板。`std::vector` 是一种非常灵活且高效的数据结构,它可以像数组一样存储元素,并能够自动...

    二维vector源码实现

     vector&lt;vector&lt;int&gt; &gt; Matrix(N, vector&lt;int&gt; (M, 0));  ostream_iterator&lt;int&gt; os(cout, " ");  Matrix[0][2] = 4;  //交换矩阵的两行  Matrix[0].swap(Matrix[1]);  //交换矩阵第二行的两个元素  swap...

    Vector实现代码

    在本篇文章中,我们将探讨如何利用C++模板来实现一个简单的`Vector`类,以模拟标准库中的`std::vector`。我们将重点关注其核心功能,如迭代器、内存管理以及基本的添加和访问元素的操作。 首先,我们需要定义`...

    泛型类vector<T>源码分析

    泛型类vector&lt;T&gt;源码分析

    关联规则的程序设计(源码)

    private Vector&lt;Vector&lt;String&gt;&gt; trimBranch(Hashtable&lt;Integer, Vector&lt;String&gt;&gt; scores, Vector&lt;Vector&lt;String&gt;&gt; allRecords, Float numberOfAll) { // 实现细节... } // 连接操作方法 private Vector...

    C++矩阵类

    Matrix&lt;T&gt; Matrix&lt;T&gt;::FromElements(const std::vector&lt;std::vector&lt;T&gt;&gt;& elements) { // 检查元素尺寸并构建矩阵 } // 赋值运算符 Matrix&lt;T&gt;& Matrix&lt;T&gt;::operator=(const Matrix&lt;T&gt;& other) { if (this != &...

    2.1.6 C++和C#数据传递 -vectorofvectorofInt传递

    本节我们将深入探讨一个特定的话题:如何在C++和C#之间传递二维数组,或者更具体地说,是`vector&lt; vector&lt;int&gt; &gt;`的数据类型。这个主题在跨平台开发或接口调用时尤为关键。 首先,让我们了解C++中的`std::vector`。...

    c++求矩阵的逆

    下面给出一个简单的C++实现求矩阵逆的例子: ```cpp #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; // 计算行列式的函数 double determinant(vector&lt;vector&lt;double&gt;&gt; matrix, int n) { // 简化...

    c++代码实现分层聚类

    std::vector&lt;std::vector&lt;std::vector&lt;double&gt;&gt;&gt; initializeClusters(const std::vector&lt;std::vector&lt;double&gt;&gt;& vectors) { // 初始化簇 } // 计算最近的两个簇 std::pair&lt;int, int&gt; findNearestClusters(const ...

    自己制作的一个《学霸模拟器》

    #include&lt;bits/stdc++.h&gt;#include&lt;stdio.h&gt;#include&lt;windows.h&gt;#include&lt;conio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;#define LEN 30#define WID...include &lt;sstream&gt;#include &lt;iomanip&gt;#include &lt;vector&gt;#include &lt;olectl.h&gt;...

    关联矩阵和邻接矩阵的相互转化.zip

    vector&lt;vector&lt;int&gt;&gt; createAdjacencyMatrix(int n, vector&lt;pair&lt;int, int&gt;&gt; edges) { // ... } // 将关联矩阵转换为邻接矩阵 vector&lt;vector&lt;int&gt;&gt; assocToAdj(int** assocMatrix, int n) { // ... } // 将邻接...

    网络安全业务竞赛

    #include &lt;cstring&gt; #include &lt;ctype.h&gt; #include &lt;cstdlib&gt; #include &lt;cmath&gt; #include &lt;climits&gt; #include &lt;ctime&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;deque&gt; #include &lt;vector&gt; #include ...

    C++之STL的vector详解,包括初始化和各种函数:vector的初始化、数据的增删查改等

    std::vector&lt;T&gt;& operator=(const std::vector&lt;T&gt;& vec); ``` - **示例**: ```cpp #include &lt;iostream&gt; #include &lt;vector&gt; int main() { std::vector&lt;int&gt; v = {1, 2, 3, 4, 5}; std::vector&lt;int&gt; v2; ...

    STL容器vector

    #include &lt;vector&gt; using namespace std; struct student { int id; string name; float height; }; int main(int argc, char* argv[]) { vector&lt;student&gt; onit; cout&lt;&lt;"请输入相关学生数据:"&lt;&lt;endl; ...

    vector彻彻底底干干净净清理内存方法

    除了上述方法外,还可以使用一个空的临时`vector`与原始`vector`进行交换,从而实现内存的释放。这是因为`vector`的`swap`操作通常是非常高效的,其内部实现通常是通过交换两个`vector`的内部指针而非复制数据,因此...

    数据结构实验:矩阵转置(c++)

    std::vector&lt;std::vector&lt;int&gt;&gt; transposeMatrix(const std::vector&lt;std::vector&lt;int&gt;&gt;& mat) { int rows = mat.size(); int cols = mat[0].size(); std::vector&lt;std::vector&lt;int&gt;&gt; transposedMat(cols, std::...

Global site tag (gtag.js) - Google Analytics