我試圖插入的對象(鳥),它保存的名稱和ID號 我有問題插入對象到我的鏈表鏈表插入問題
bool List342::Insert(Bird *obj)
{
Node *insNode = new Node;
insNode->data = obj;
if (head == NULL)
{
head = insNode;
return true;
}
//cout << head->data->getID();
if ((insNode->data->getID()) <= (head->data->getID()))
{
insNode->next = head;
head = insNode;
return true;
}
Node *pNode = head;
while ((pNode->next != NULL) && ((pNode->next)->data->getID() <= insNode->data->getID()))
{
pNode = pNode->next;
}
insNode->next = pNode->next;
pNode->next = insNode;
return true;
}
它不似乎正確地插入 我試圖把一個COUT代碼,看看什麼數字被比較 例如 COUT < <頭戴式>數據 - >的getID() ,它似乎輸出電流鳥的電流id 而不是頭部的ID(應該是最低的ID)
拜託,謝謝!
1)你確定'next'被初始化爲NULL嗎?如果不是,你應該做'insNode-> next = head;'或'insNode-> next = NULL;'當插入一個空列表時。 2)邏輯看起來有點不一致:當新項目與第一個項目相等時,將其插入列表的前面,但是當它與其他一些數據相同時,可以跳過它們並插入組的末尾。 – CiaPan 2014-10-27 07:46:15
你的函數總是返回true,對我來說這是一個問題。 – sop 2014-10-27 08:01:43