首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链表搜索功能

链表搜索功能
EN

Stack Overflow用户
提问于 2013-11-29 14:13:16
回答 1查看 88关注 0票数 0

我正在开发一个C程序,我想使用这个函数来检查是否已经插入了一个类型为Client的元素,该元素具有给定的编号。它沿着列表移动,在找到数字后立即返回1,只有当我试图编译时,它才告诉我不使用"prev“变量。

代码语言:javascript
复制
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;                           
}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-29 14:17:38

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

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

这是密码。

代码语言:javascript
复制
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;                           
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20287689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档