使用迭代器C ++向上/向下/向左/向右导航行和列矩阵

时间:2015-11-28 13:43:25

标签: c++ matrix vector stl iterator

我正在尝试浏览final Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { if (rolls < 2 + temp) { rolls++; //Do your stuff here handler.postDelayed(this, 1000); } } }, 0); 2x2矩阵。 向左/向右/向上和向下移动0 例如,我有这个矩阵:

std::set<std::set<char>>

我想做的是能够更改矩阵以实现此目的:

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

我想使用迭代器或更好的方法来做到这一点。在同一条线上进行转换很容易,但我不知道如何从一条线转换到另一条线。

1 个答案:

答案 0 :(得分:0)

最简单的方法是存储0的坐标(可选以及实际容器,但在许多情况下这会是多余的)。

所以在向右移动0时,你只需要++ x(如果你还要存储chars的实际容器,你知道旧零的位置,所以你把它改成背景符号并在新坐标中放置一个0)。

MoveRight()
{
    container[x][y] = 'a'; //optional
    ++x;
    container[x][y] = '0'; //optional
}

希望这有道理吗?