0
如何迭代四維鏈接的二維網格數據,就好像它是二維數組?如何迭代四維鏈接的二維網格數據,就好像它是二維數組?
我的網格結構是:
typedef bool tile;
struct BLOCK;
typedef struct BLOCK block;
struct BLOCK {
const block * to_the_left;
const block * above;
const block * to_the_right;
const block * below;
tile data;
};
typedef struct {
const block * start;
} map;
我需要能夠遍歷該柵格像它是一個2維陣列,所以我可以在屏幕上的起始塊定心上顯示的地圖的瓦片。
P.S.S.我最喜歡在C中看到一個解決方案(這就是我爲這個項目編寫的),C++,Haskell或Java代碼,因爲這些都是我熟悉的語言,但任何語言都可以。我只需要這個算法。
P.S.S.S.爲了清楚起見,通過迭代就像一個二維數組我的意思是我需要得到一個索引到x和y位置作爲變量。例如,我需要調用mvaddch(y,x,'#')。
加入的上面我需要解釋,我需要變量x和y,以及。 – 2012-04-10 23:18:59
我正在調試這個,它幾乎可以工作,但在達到底部時不會停下來。我想我可以修復它。編輯:NVM。這是我生成網格的錯誤。 – 2012-04-10 23:40:49
啊哈!我發現了錯誤。在設置process = leftmost-> below後,應該包含最左邊的= process的小行。雖然我不知道這個禮儀。如果我應該等待你改變線路,然後我會接受帖子,如果我應該編輯帖子並將其放入編輯隊列或者如果要做其他事情。 – 2012-04-11 00:09:33