看板 FSHS-95-316 關於我們 聯絡資訊
※ 引述《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