-1
對於我的遞歸考試,我必須編寫一個遞歸函數來遍歷鏈表,並刪除所有不包含某些數據的節點,並計算在C++中刪除的節點數。我不允許使用靜態函數,靜態局部變量或全局變量。我該怎麼做呢?遞歸計算遞歸函數中發生的循環數,而不使用靜態局部變量,全局變量或靜態函數?
具體使用的函數是:INT remove_except(節點* &頭,節點* &尾),並且它的直線鏈表上使用。我無法找到任何方法來計算刪除的節點數量,而不使用上面列出的三種方法之一。
免費的線索:請問這是由一個呼叫者稱爲函數會返回* *的值到主叫方,像是某種計數器,或什麼的? –
這裏沒有代碼,只是一個方法簽名。我們應該從中看出什麼?我也很困惑你爲什麼傳遞指針的引用。 – tadman
@SamVarshavchik我想你應該說我應該返回一些名爲counter的整數,並在每次循環發生時遞增?但我不知道如何在不改變函數原型的情況下在遞歸函數中執行此操作,或者創建一個靜態變量或全局變量,這兩者我都不允許這樣做。 –