二维数组的顺序存储结构代码实现
时间: 2024-11-13 20:16:47 浏览: 19
c代码-二维输出。
二维数组,也称为矩阵,通常在程序中使用一维数组来表示,因为内存实际上是连续存储的。每个元素是一个包含多个元素的子数组。下面是一个简单的顺序存储结构(数组)实现二维数组的例子,假设我们正在使用C++:
```cpp
// 定义一个二维数组模板
template <typename T>
class Array2D {
private:
int rows;
int cols;
T* data; // 存储所有元素的一维数组
public:
// 构造函数设置数组的行数、列数并分配内存
Array2D(int r, int c) : rows(r), cols(c) {
data = new T[rows * cols];
}
// 获取元素值
T& operator()(int row, int col) {
return data[row * cols + col]; // 计算实际索引
}
// 设置元素值
void set(int row, int col, const T& value) {
data[row * cols + col] = value;
}
// 释放内存
~Array2D() {
delete[] data;
}
};
// 使用示例
int main() {
Array2D<int> arr(3, 4); // 创建一个3x4的整型二维数组
arr(0, 0) = 1; // 设置第一个元素为1
cout << arr(0, 0) << endl; // 输出1
return 0;
}
阅读全文