為什麼同一個方法例如PreOrder 要在public和private裡分別都寫一次?到底哪一才是真正去調用類外方法的? public與private申明的這兩個 有什麼不同?有什麼作用呢?
public的函數系不帶參數,它內部實現是以root為參數調用對應的private的函數。因為不知道你的xxxOrder是做什麼用的,暫時認定是平衡二叉樹排序的話,當你外部調用了InOrder()函數時候,它內部就先以InOrder(root)作為起始節點進行調用,然後在InOrder函數內部一定有類似InOrder(child)之類代碼的遞歸調用。這樣就能在用戶無需關心根節點是誰的情況下完成排序操作。