我试图插入的对象(鸟),它保存的名称和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