-2
我有一個單一的鏈表,功能如AddNode
,DeleteNode
,PrintList
工作正常,但我想操縱它一點。具有更多數據類型內部結構的單鏈表
所以我們可以說我的結構是:
struct node
{
int data;
node* next;
bool used;
}
所以,我想在所有節點used
是true
。但是如果我想刪除一些節點,那麼它們的used
應該設置爲false。所以基本上「使用」意味着節點在列表中。如果我想打印完整列表,我只需要打印true
的節點。有什麼辦法可以做到這一點?還是毫無意義?
我試過這個,但顯然它說這個變量超出了範圍。那我該怎麼做?
void printList()
{
curr = head;
while(curr != NULL)
{
if (node->used == true)
{
cout << curr->data << " ";
curr = curr->next;
}
}
}
'節點 - >'那你希望這會怎麼辦?它不會起作用,因爲'node'是類的名稱,而不是它的一個實例,但是如果你解釋了它的意圖,那會有所幫助。你只是指'curr->'? –
如果你修改條件爲'if(curr-> used == true)',那麼你需要將'curr = curr-> next;'移出你的if塊,否則你在第一個假的時候會有一個無限循環。 – drescherjm