這篇是寫給我自己看的,各位可能會看不懂...
if (left)
{
m[0] = ...;
if (up)
m[1] = ...;
}
else
{
if (up)
m[0] = ...;
...
}
紅色部分這幾句長得很像,只是數字不一樣,可以用變數表示看看
變成:
head = 0;
if (left)
{
m[head] = ...;
head++;
if (up)
m[head] = ...;
}
else
{
if (up)
m[head] = ...;
head++;
}
不管判斷是否成立,都會執行到if (up) m[head] = ...,故可簡化成
head = 0;
if (left)
{
m[head] = ...;
head++;
}
if (up)
m[head] = ...;
沒有留言:
張貼留言