使用迭代器C++在行和列矩阵中上/下/左/右导航
Navigate up/down/left/right through rows and columns matrix with iterators C++
我正在尝试浏览std::set<std::set<char>>
2x2矩阵。通过向左/向右/上下移动0例如,我有一个矩阵:
a a O a
a a a a
a a a a
a a a a
我想做的是能够改变矩阵,使其具有以下特性:
a a a O
a a a a
a a a a
a a a a
或者这个:
a a a a
a a O a
a a a a
a a a a
我想使用迭代器或更好的方法来实现这一点。在同一行上进行转换很容易,但我不知道如何从一行转换到另一行。
最简单的方法是存储0
的坐标(可选以及实际容器,但在许多情况下这是多余的)。
因此,在将0向右移动时,只需++x(如果你还存储了实际的字符容器,你就知道旧的0在哪里,所以你把它改为背景符号,并在新坐标中放一个0)。
MoveRight()
{
container[x][y] = 'a'; //optional
++x;
container[x][y] = '0'; //optional
}
希望这有道理?
相关文章:
- 导航 while 循环
- 如何在OSX上导航到用户输入站点?
- 如何在vim中导航c++模板实例化
- 在 c++ winrt 导航视图中,如何找到选择/单击的导航项?
- 为什么这种在数组中导航的方法是错误的?
- Emacs 标签/导航在 Windows 上?
- QWebEngine 5.7.1 离线导航加载缓存
- 是否有安全的导航操作员C++?
- vim 标签导航,使用 VIM 或 CTAG 更改排序顺序
- ARDUINO LCD:通过读取数组生成导航菜单
- QT创建者(4.2.2)编辑器中的独特指针导航
- 在QT C 中使用QMOVIE和信号/插槽之间在GIF中导航
- 如何使用行位置在std :: ifstream中导航
- Winapi导航回/向前
- UWP:在两个页面之间实现基本导航会导致错误
- QML 列表视图和密钥导航 - 处理单个密钥事件
- 如何:在C++的导航视图中选择项目
- 如何在 Xcode 项目导航器中显示.txt文件
- C++崇高的文本插件代码导航
- WXGRIDSIZER/WXPANEL:使左/右导航键的行为像Shift-Tab/Tab一样