我不确定为什么我正在编写的 DL 列表中的这个 find 函数不起作用。问题是 tempNode->data 和 s 之间的比较失败。尽管数据相等,但比较评估为假。有谁知道为什么?
bool DoublyLinkedList::find(string& s)
{
if(empty())
return false;
else
{
Node* tempNode = head;
do{
if(*(tempNode->data) == s)
{
return true;
}
tempNode = tempNode->next;
} while(tempNode != NULL);
return false;
}
}
class Node
{
public:
Node* next;
Node* prev;
string* data;
Node(){next = NULL; prev = NULL; data = NULL;};
~Node(){delete prev; delete next; delete data; next = NULL; prev = NULL; data = NULL;};
};