我的while循環不會在我的鏈表中工作,但for循環會,我正在使用for循環打印鏈接列表。但我需要一個整數來放置「n」。我試圖通過計算鏈表中的元素來實現這一點,我需要一個while循環。因爲當這個問題得到解決時,我不會首先需要for循環,我只是想在計算鏈表中的元素時使用它。雖然循環不會在我的鏈接列表中工作
int count = 0;
Hand *crdNode = head;
while (crdNode != NULL)
{
crdNode= crdNode->cardPtr;
count++;
}
cout<<endl;
return count;
這是所有在比主之外的單獨的源文件中的函數的內部。任何幫助,將不勝感激。
工作循環:
Hand *crdNode = head;
for (int i = 0; i < n; i++)
{
cout<< crdNode ->card<<endl;
crdNode= crdNode->cardPtr;
}
cout<<endl;
填單子功能
if (head == NULL)
{
crdNode = new Hand;
crdNode ->card = t;
temp = crdNode;
head = crdNode;
}
else
{
crdNode = new Hand;
crdNode -> card = t;
crdNode -> cardPtr = head;
head = crdNode;
crdNode -> cardPtr = NULL;
}
怎麼樣,包括for循環工作,所以我們可以比較自己呢? – John3136
會做,謝謝。 –
在最後一個元素中看起來'cardPtr'不是'NULL',所以while循環不會在最後一個元素之後停止。當你添加一個新元素到列表的最後時,確保你將'cardPtr'賦值爲'NULL'。 – Rogus