c++ - 如何建模网格数据类型?

标签 c++ arrays data-structures vector

如何以最佳方式将网格(扫雷问题)建模为数据类型?使用 vector 作为二维实体是否更好。 vector 的原因是因为它的边界检查功能。我的假设对吗?

谢谢 :)

最佳答案

由于网格大小(我想!)是固定的,因此 vector 与数组相比几乎没有优势。所以我建议使用二维数组。

虽然不是必需的,但您可能会发现添加 sentinel values 很有用在网格边界周围消除隐式边界检查的需要。一个例子是当您计算相邻地雷的数量时,在网格周围放置 0。阅读this article以一些更简单的示例开始。

关于c++ - 如何建模网格数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532390/

相关文章:

c++ - lambda表达式移动捕获的时机

arrays - 使用 ES6 或 TypeScript 获取两个对象数组之间的差异

java - O(1) 的映射同时搜索键和值

c++ - 删除shallow的复制对象和origin对象

c++ - 为 32 位构建 zlib libz.a

Javascript | For 循环 - 我的语法错误是什么?

c - 运行时分析

c - 如何在 C 中存储链表列表?

c++ - 如何在 QMainWindow 的默认布局中排列项目?

javascript - 排列需要帮助编码