更具體地說,我正在研究一個函數,該函數檢測從用戶輸入的一組節點中存在的元素。例如,可以說用戶排入包含名稱,日期,ID的項目......並且該用戶排入了5個項目,我想逐個檢查一個特定的ID並輸出「Found !!!」...如何從C++中的每個節點使用隊列搜索元素?
這是我已經走了這麼遠,但我一直在得到EXC_BAD_ACCESS(代碼= 1,地址= 0x40的)上的Xcode ..同樣的事情到Visual Studio以及..
void lookup(int _patient_id)
{
node *newnode = new node;
newnode = front;
while (newnode->next != NULL)
{
if (newnode->patient_id == _patient_id)
cout<<"Found!!!!!!!";
else
newnode = newnode->next;
}
}
這是絕對錯誤的,並且證明缺乏關於C++基本原理的知識。 – 2014-11-24 19:05:15
您似乎正在分配一個新節點並將其泄漏,無論如何。您的搜索將跳過列表中的最後一個節點。如果實際發現節點,則會進入無限循環。沒有看到你有什麼錯誤,不可能知道是什麼原因造成的。 – 2014-11-24 19:05:26
對於初學者來說,你不需要檢查'newnode'是否爲'NULL'。 – juanchopanza 2014-11-24 19:06:03