moveonz
2021-09-01 08:47
采纳率: 63.6%
浏览 65

能给一个详细一点的注释吗?C语言的

img

img

![img]( https://img-mid.csdnimg.cn/release/static/image/mid/ask/111730754036150.png 'VTDUQ1%`@ZE00[F_11[IYCA.png'刚入门有点看不懂链表,希望能帮个忙,有重赏
谢谢各位
指针的用法也有点看不懂
希望各位可以给点详细一点的注释

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • soar3033 2021-09-01 09:08
    已采纳

    你原有的函数结构有个错误的地方,已经给你修改过来了。请采纳

    Node* queryDiffer(Node** p1, Node** p2)//定义了一个函数,其返回值是Node的指针,两个形参是Node的指针的指针p1和p2(也就是两个链表)
    {
        if (*p1 == NULL) //如果p1是空指针(空链表)
            return p2;//直接返回p2
        if (*p2 == NULL)//如果p2是空指针(空链表)
            return p1;//直接返回p1
        Node* p = NULL;//声明一个Node的指针p
        Node* pi = NULL;//声明一个Node的指针pi
        Node* pj = NULL;//声明一个Node的指针pj
        for (pi = *p1; pi!= NULL; pi=pi->_pNext)//通过pi对链表p1进行节点(Node)遍历
        {
            int isIn = 0;//声明一个整形isIn为0
            for ( pj= *p2; pj!=NULL; pj=pj->_pNext)//通过pj对链表p2进行节点遍历
            {
                if (pi->_data==pj->_data)//如果p1某个节点的data值,和p2某个节点的data相等
                {
                    isIn = 1;//则isIn赋值为1
                }
    
            }
            if (isLn == 0)//如果经过pj对p2所有节点的遍历后isIn为0,说明当前p1节点的data值,和p2中所有节点的data值不等(即p1的该节点data值不在p2中存在,即不用被差运算除去)
            {
                ListPushBack(&p, pi->_data);//那么调用ListPusbBack函数,传入当前p1节点的data值,以更新差运算结果
            }
        }
        return p;//返回差运算的结果
    }
    
    
    评论
    解决 无用 1
    打赏 举报
    1人已打赏
查看更多回答(3条)

相关推荐 更多相似问题