C 链表搜索功能
我正在开发一个C程序,我想用这个函数来检查是否已经插入了一个具有给定编号的Client类型的元素。它沿着列表移动,一找到数字就返回1,只有在我尝试编译时,它告诉我“prev”变量没有使用C 链表搜索功能,c,linked-list,unused-variables,C,Linked List,Unused Variables,我正在开发一个C程序,我想用这个函数来检查是否已经插入了一个具有给定编号的Client类型的元素。它沿着列表移动,一找到数字就返回1,只有在我尝试编译时,它告诉我“prev”变量没有使用 int list_search_number(LinkedListNode head, Client value){ LinkedListNode prev, curr; prev = NULL; curr = head; whil
int list_search_number(LinkedListNode head, Client value){
LinkedListNode prev, curr;
prev = NULL;
curr = head;
while (curr != NULL) {
if(curr->value.number!=value.number){
prev = curr;
curr = curr->next;}
else if(curr->value.number==value.number)
return 1;
}
return 0;
}
链表和客户端结构定义正确。您不需要存储
prev
指针,因为不需要它。删除prev变量并继续
如果找到数字,则将算法更改为返回1;如果未找到,则将算法更改为返回0。上一个指针是无用的
这是代码
int list_search_number(LinkedListNode head, Client value){
LinkedListNode curr;
curr = head;
while (curr != NULL) {
if(curr->value.number==value.number){
return 1;
}
else {
curr = curr->next;
}
}
return 0;
}
LinkedListNode是如何定义的?我希望函数的head参数使用“指向LinkedListNode的指针”。