作者gordon0730 (含仔)
看板FSHS-95-316
標題Re: [問題] 子濬幫幫我-.- (上次的樹搜尋)
時間Tue Jul 6 02:21:24 2010
※ 引述《bbbbbbbbbb (男人忌諱快)》之銘言:
: 其他人會幫我也行 拜託-.-
: 這次這是我新拼的 可是我資結嚴重不行
: 1.想請問這份程式跑出來的結果是不是對的
我簡單試了一下 應該是對的
: 2.這份程式碼後半部是搜尋函式 可是它假如搜尋不到不會跑出任何東西
: 我想要它跑出"false"可是都改不出來...
其實很簡單....你把searchtree (int data) 看懂應該就很容易
: void searchtree (int data)
: {
: int temp = 0;
: BinaryTree currentNode;
: currentNode = rootNode;
: while (currentNode != NULL)
: {
: if (currentNode -> data < data)
: {
: temp += currentNode->lc + 1;
: currentNode = currentNode -> right_Node;
: }
: else if (currentNode -> data > data)
: {
: currentNode = currentNode -> left_Node;
: }
: else if (currentNode -> data == data)
: {
: cout<<"we find it"<<endl;
: cout<<"The rank of "<<data<<" is "<<currentNode->lc + 1 + temp<<endl;
: return;
: }
: }
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
上面這個while loop在檢查NODE data是不是符合search的值
小於就call right node 大於call left node
如果call到最後都沒有node了 currentNode就會是NULL -> 跳出這個while loop
所以在這邊輸入cout<<"false"<<endl;
找不到的話就會顯示false了
: }
: --------------------------------------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.246.141
※ 編輯: gordon0730 來自: 140.113.246.141 (07/06 02:24)
→ bbbbbbbbbb:恩 感謝耕含 我程式真的該努力了-.- 07/06 20:56
→ bbbbbbbbbb:每次作業都是拼網路上的... 07/06 20:56