这是我想以链接列表形式表示的矩阵
想法是它是一个二维矩阵。红色字体是常规的 [i][j],蓝色字体是我想存储在链接列表中的额外信息。
在这个矩阵中,我需要存储一些信息。
- 整行
- int colm
- int label [如蓝色所示]
- bool值(要显示在屏幕上的值)
- *** 对
- *** 离开了
- ***起来
- ***下来
问题是如果我创建 4 个数组指针 [用于二维矩阵],我将获得 4 个链接列表?我什至如何获得方向指针???
如果你很好奇,我正在努力解决卡诺图。 link text
感谢任何帮助。谢谢!
最佳答案
不要使用链表,使用二维数组。快速且肮脏(且不完整):
struct Matrix {
struct Entry {
int label;
bool value;
};
Entry *array;
size_t rowlen;
Matrix(int n) : rowlen(n) { array = new Entry[n*n]; }
~Matrix() { delete[] array; }
Entry &at(int i, int j) { return array[i * rowlen + j]; }
// etc.
};
不需要方向指针,只需使用一些智能加减逻辑即可。
关于c++ - 将二维矩阵解析为链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356759/