链表搜索功能

时间:2013-11-29 14:13:16

标签: c linked-list unused-variables

我正在开发一个C程序,我想使用此函数来检查是否已插入具有给定数字客户端类型的元素。一旦找到数字,它就会沿着列表移动并且返回1 ,只有当我尝试编译时,它才会告诉我“ prev ”变量未被使用。

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;                           
}

正确定义了链接列表和客户端结构。

1 个答案:

答案 0 :(得分:2)

您不需要存储prev指针,因为不需要它。删除prev变量并继续。

如果找到数字,则将算法更改为返回1,如果未找到,则返回0。 prev指针没用。

这是代码。

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;                           
}