zoukankan      html  css  js  c++  java
  • 用vector实现矩阵, vector传参必须用模板泛型

    #pragma once
    #include "stdafx.h"
    
    //用vector实现矩阵, vector传参必须用模板泛型
    template <typename Object>
    class Matrix {
    private:
    	//2维的矩阵,2维的vector数组,vector就是一种动态数组
    	vector<vector<Object>> array;
    public:
    	//constructor(), 填充数组(行数)
    	Matrix(int rows, int cols) :array(rows) {
    		for (int i = 0; i < rows; i++)
    			//resize(),改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
    			array[i].resize(cols);
    	}
    	//重载操作符[],实现索引器,常量引用传值
    	const vector<Object>& operator[](int row)const {
    		return array[row];
    	}
    	//重载操作符[],实现索引器,变量引用传值
    	vector<Object> & operator[](int row) {
    		return array[row];
    	}
    	//Length()
    	int numrows() const {
    		//array.Length()
    		return array.size();
    	}
    	//numcols()
    	int numcols() const {
    		//numrows() is true;
    		return numrows() ? array[0].size() : 0;
    	}
    	//deconstructor()
    	virtual ~Matrix() {}
    	//copy()
    	void copy(const Matrix<int>& from, Matrix<int>& to) {
    		for (int i = 0; i < to.numrows; i++) {
    			to[i] = from[i];
    		}
    	}
    };
    

      

  • 相关阅读:
    低于时钟频率的任意频率生成(相位累加器)
    verilog实现奇数倍分频
    No.135 Candy
    No.42 Trapping Rain Water
    No.149 Max Point on a Line
    No.147 Insertion Sorted List
    No.21 Merge Two Sorted List
    No.88 Merge Sorted Array
    No.148 Sort List
    No.206 Reverse Linked List
  • 原文地址:https://www.cnblogs.com/blacop/p/6602674.html
Copyright © 2011-2022 走看看