C++ 这是传递int num时创建搜索函数的正确方法吗?使用链表库
头文件: 该程序将以C++ 这是传递int num时创建搜索函数的正确方法吗?使用链表库,c++,C++,头文件: 该程序将以 名为“cmd.txt”的文本文件,用于指示要运行的操作。我们的程序应该实现一个C++类,用来表示链表。 搜索应该看起来更像: node* LL::Search(int num) { node* current = head; while (current != null) { if (current->val == num) { return current; }
名为“cmd.txt”的文本文件,用于指示要运行的操作。我们的程序应该实现一个C++类,用来表示链表。 搜索应该看起来更像:
node* LL::Search(int num)
{
node* current = head;
while (current != null)
{
if (current->val == num)
{
return current;
}
current = current->next;
}
return null;
}
这是正确的格式
node* LL::search(int num)
{
node* newNode = new node;
newNode = head;
while (newNode->next != NULL)
{
if (newNode->val == num)
{
return newNode;
}
newNode = newNode->next;
}
return NULL;
}
所以您想使用库提供的链表或您实现的链表?whilecurNode==NULL:这应该做什么?您的代码有问题吗?void LL:search看起来是错误的,因为它被声明为node*search,而使用一个冒号是完全错误的。你是对的,我刚刚在所有函数中都发现了这一点。当前节点是传递num值的节点,因此只要num值等于curNode且不为NULL,就继续。
node* LL::Search(int num)
{
node* current = head;
while (current != null)
{
if (current->val == num)
{
return current;
}
current = current->next;
}
return null;
}
node* LL::search(int num)
{
node* newNode = new node;
newNode = head;
while (newNode->next != NULL)
{
if (newNode->val == num)
{
return newNode;
}
newNode = newNode->next;
}
return NULL;
}