Re: [問題] 自己呼叫自己? 麻煩給個指點
看板C_and_CPP (C/C++)作者danny8376 (釣到一隻猴子@_@)時間12年前 (2013/11/07 01:11)推噓1(1推 0噓 0→)留言1則, 1人參與討論串2/2 (看更多)
※ 引述《kaoh08 (AIR -the 1000th summer-)》之銘言:
: 問題(Question):程式看不懂,請告訴我這是什麼,我就能翻書找。
: 預期的正確結果(Expected Output):二元樹程式
: 程式碼(Code):(請善用置底文網頁, 記得排版)
: 例如這個binTree.h 第321行,private版的inorder,
: template <class T>
: void binTree<T>::inorder(binTreeNode<T>* child, void (* ptr)(T&))
: {
: if(child != NULL)
: {
: inorder(child->left, ptr); //自己呼叫自己?
這東西叫遞迴...
對這種往內呼叫不確定層數的東西很常用
像列出檔案樹
: ptr(child->data); //到底執行了什麼?
很明顯的... ptr是一個參數啊
到底做了啥要問呼叫的人
反正外面傳個function給參數進來
這邊就呼叫那個參數
像主程式28行
second.inorder ( decrease );
這邊就呼叫了只有void*的inorder
內部呼叫了這個node, void*的inorder
再往內就又對每個枝都呼叫一次
一直到全部枝幹都被呼叫過
整體結果就是整個Tree內所有node內的data都被decrease
: inorder(child->right, ptr);
: }
: }
: prog6.cc http://pastebin.com/9aaxggWC 主程式
: prog6.h http://pastebin.com/t0ZXTvBx
: binTree.h http://pastebin.com/QCYqJYi4 二元樹的implementation
: binTreeNode.h http://pastebin.com/9wVGDWAC 二元樹node的class
: 補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.216.102
推
11/07 06:53, , 1F
11/07 06:53, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章