| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1136 人关注过本帖
标题:关于链表的查找函数
只看楼主 加入收藏
livq
Rank: 2
来 自:hb
等 级:论坛游民
帖 子:14
专家分:30
注 册:2017-12-8
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
关于链表的查找函数
话不多说先上码
程序代码:
struct node * search(struct node *head , int num , int a)          //head是头,num是要找的数 , a用来做标记
{
    struct node *p , *q;
    q = (struct node *)malloc(sizeof(struct node));
    p = head;
    q->next = p;
    while(p)
    {
        if( p->data = num )
        {
            if( a == 0 )
            {
                return p;
            }
            else if( a == 1 )
            {
                printf("<<<<<<<<%d<<" , q->data);
                return q;
                printf(">>>>>>>>");
            }
            
        }
        else
        {
            p = p->next;
            q = q->next;
        }
    }
    // return NULL;
    while(q)
    {
        printf("\n%d\n" , q->data);
        q = q->next;
    }
}

是在查找的时候随便可以找他的前一个结点,之前写的时候实现了,后来不小心把代码删了,又写不出来来了,哎;
为什么返回q不行啊(但是后面的while循环可以输出q啊);
搜索更多相关主题的帖子: 查找 函数 struct node next 
2017-12-18 11:50
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:10 
说说在哪里---查找什么---查到后怎样做---没查到又怎样做
2017-12-18 16:07
livq
Rank: 2
来 自:hb
等 级:论坛游民
帖 子:14
专家分:30
注 册:2017-12-8
收藏
得分:0 
回复 2楼 吹水佬
在删除结点的时候返回q(也就是要删除节点的前一个结点)实参a=1
在查找或者插入结点返回p(也就是当前结点)实参a=0
找不到返回空
2017-12-18 17:21
快速回复:关于链表的查找函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070083 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved