怎样用矩阵存储一个无规律的数列?
来源:百度知道 编辑:UC知道 时间:2024/06/08 00:52:57
可以用动态内存申请呀,提供C和C++各自不同的实现
C的实现如下:
int** table;
int row; //行数
int col[1000000]; //各行的列数
int i;
//行数赋值,各行列数赋值
table=(int**)malloc(row*sizeof(int*));
for (i=0; i<row; i++) table[i]=(int*)malloc(col[i]*sizeof(int));
//进行各种操作,直接用table[i][j]访问即可
//操作结束,释放空间
for (i=0; i<row; i++) free(table[i]);
free(table);
C++实现如下:
int** table;
int row; //行数
int col[1000000]; //各行的列数
int i;
//行数赋值,各行列数赋值
table=new int*[row];
for (i=0; i<row; i++) table[i]=new int[col[i]];
//进行各种操作,直接用table[i][j]访问即可
//操作结束,释放空间
for (i=0; i<row; i++) delete []table[i];
delete []table;
#include<iostream>
#include<iomanip>
#include<cassert>
using namespace std;
class Matrix;
class MatrixRow
{
public:
MatrixRow(Matrix* m,int s);
double& operator[](int j);
private:
Matrix* mat;
int i;
};