2013-10-24 13 views
0

該代碼張貼在評論板上供審閱。我的意圖不是要求檢查代碼。提供遞歸方法的單個對象的函數

[迷宮]:https://codereview.stackexchange.com/questions/33155/maze-code-review

在上面的代碼中的函數solve不執行任何操作,但是提供一個堆棧對象這將通過遞歸執行代碼中使用(參照型堆棧的對象)。

  1. 既然有這麼多的模式是否有這樣一個函數的名稱,它只能幫助/或設置遞歸調用?

  2. 如果是這樣,任何/不是/替代品?

+0

我不完全確定你在問什麼。方法類型的名稱像工廠或其他東西? – Antoniossss

+0

@Antoniossss多數民衆贊成在糾正,這就是我所要求的,以及與此類相關的任何「經過時間考驗的規則/實踐」 – JavaDeveloper

回答

1

我覺得你做得很好。每個遞歸算法都需要一些初始值來完成它的第一步。通常的做法是將此初始調用封裝在另一個方法中,以便調用者不必擔心這些值。

如果您的初始值設置起來會更復雜,您可以將其封裝在其他方法中。說你的堆棧需要有一些內容而不是空的。你可以做這樣的事情:

public List<Coordinate> solve() { 
    return getMazePath(0, 0, getInitialStack()); 
} 

這樣的solve方法保持清晰,易於爲你遞歸的入口點。