我是這樣實現(xiàn)刪除操作的
void deletePerson(List *pList)
{
Node node;
cout << "請輸入一個你想刪除聯(lián)系人的姓名: ";
cin >> node.data.name;
int number = pList->LocateElem(&node);
pList->ListDelete(number, &node);
}
由于是根據(jù)名字刪除,所以ListDelete函數(shù)實現(xiàn)的時候只需要姓名相同就可以了,不考慮(同名情況,太少)
if (currentNode->data.name == pNode->data.name)
void deletePerson(List *pList)
{
Node node;
cout << "請輸入一個你想刪除聯(lián)系人的姓名: ";
cin >> node.data.name;
int number = pList->LocateElem(&node);
pList->ListDelete(number, &node);
}
由于是根據(jù)名字刪除,所以ListDelete函數(shù)實現(xiàn)的時候只需要姓名相同就可以了,不考慮(同名情況,太少)
if (currentNode->data.name == pNode->data.name)
2017-06-08
int List::LocateElem(Node *pNode) //將指定節(jié)點的順序?qū)懗鰜?br />
{
Node *currentNode = m_pList;
for (int i = 0; i <= m_iLength; i++)
{
currentNode = currentNode->next;
if (currentNode->data == pNode->data)
{
return i;
}
}
return -1; //一個節(jié)點都沒有找到
}
Node *currentNode = m_pList;
for (int i = 0; i <= m_iLength; i++)
{
currentNode = currentNode->next;
if (currentNode->data == pNode->data)
{
return i;
}
}
return -1; //一個節(jié)點都沒有找到
}
2017-06-08
老師插入的時候沒有考慮到插入最后一個節(jié)點的下一個,這個包含了尾插入,所以你應(yīng)該這樣判斷
if (i < 0 || i > m_iLength + 1)
{
return false;
}
i在這里可以等于m_iLength +1;
這種情況就是尾插入了
if (i < 0 || i > m_iLength + 1)
{
return false;
}
i在這里可以等于m_iLength +1;
這種情況就是尾插入了
2017-06-08