将二维矩阵解析为链接列表

发布于 2024-10-06 01:42:26 字数 542 浏览 3 评论 0原文

这是我想以链接列表形式表示的矩阵 alt text

这个想法是它是一个二维矩阵。红色字体是常规的 [i][j],蓝色是我想要存储在链接列表中的额外信息。

在这个矩阵中,我需要存储几个信息。

  1. int row
  2. int colm
  3. int label [如蓝色所示]
  4. bool value(要在屏幕上显示的值)
  5. *** right
  6. *** left
  7. *** up
  8. *** down

问题是我将得到 4 个链接-列表,如果我创建 4 个数组指针[对于二维矩阵]?我怎样才能获得方向指针???

如果你好奇的话,我正在研究卡诺图。 链接文本

感谢任何帮助。谢谢!

Here is the matrix I want to represent in the link-list form
alt text

The idea is that it's a 2-D matrix. The font in red is the regular [i][j], and blue is the extra information I want to store in a link-list.

In this matrix, I need to have several informations to be stored.

  1. int row
  2. int colm
  3. int label [as shown in blue]
  4. bool value (the value to be displayed on the screen)
  5. *** right
  6. *** left
  7. *** up
  8. *** down

the problem is i am going to get 4 link-lists, if I create 4 pointers of array [for 2-D matrix]? how do I even get the directional pointers???

If you are curious, I am working on solving a Karnaugh Map.
link text

Any help is appreciated. Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

智商已欠费 2024-10-13 01:42:26

不要使用链表,使用二维数组。快速&脏(且不完整):

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.
};

不需要方向指针,只需使用一些智能加法和减法逻辑。

Don't use a linked list, use a 2-d array. Quick & dirty (and incomplete):

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.
};

No need for directional pointers, just use some smart addition and subtraction logic.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文