class Node{
public:
int data;
Node* next;
};
int func(Node* node, int number){
if(node){ //whilst the node does not equal null pointer
if(node->data > 0) // if the data is greater than 0
return func(node->next, number) - node->data; // this is where i get confused...
else if(node->data < 0)
return func(node->next, number) node->data;
else
return func(node->next, number node->data) number;
}
return 0;
}
我看到它對函式進行遞回呼叫以使用序列中的以下節點,然后從父節點中減去子節點資料?到目前為止我的理解是否正確?試圖實作的功能是什么?在我的腦海中,我在想該函式試圖將鏈表中所有節點的資料設定為 0?這會是一個正確的假設。
uj5u.com熱心網友回復:
從父節點中減去子節點資料
node->data不,它從遞回呼叫的結果中減去。
試圖實作的功能是什么?
問作者。我們可以告訴你的是它確實實作了什么。我懷疑作者對這個函式的理解,因為number node->data出現在node->data已知為 0 的地方。
前兩個條件與每個 的絕對值相減相同,node->data最后一個條件number每次有 0 時相加。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488625.html
