0
我想在這裏算在鏈表中重複出現的次數的數量計數的重複出現
,這樣當我的代碼會顯示(3,2 C,1)如果我餵養它 列表A-> A-> A-> C-> C->一
class Node
{
public:
char letter;
Node * next;
Node();
Node(char);
};
使用下面的功能我設法算出現而不是我所期望的方式。
int Count(Node* h, char searchFor)
{
int count=0;
while(h)
{
if(h->letter==searchFor)
count++;
h=h->next;
}
return count;
}
在主函數
cout<<"a "<<Count(h, 'a')<<" c "<<Count(h,'c')<<"a "<<Count(h, 'a')<<endl;
將輸出(一個3,C 2,3)不得(a 3,C 2,1)
如何傳遞的頭功能,以便它將返回具有類似字符的所有節點的計數?
你希望'伯爵的第二個呼叫(H,「一」)怎麼辦'來給出不同的答案第一呼叫?它從同一個地方開始,看着相同的節點。 –
相關:請記住函數參數不需要按任何特定順序進行全面評估。由於'operator <<'的實現實際上是一個函數,所以三個'Count()'調用可以以任何順序發生。*目前這不是你的問題,但是你的修復可能不會考慮這種可能性。 – cdhowie
您需要添加邏輯,以便計數只會返回大於零的答案,前提是您至少得到2個與searchFor相同的連續字符。 – HughB