标题:起归并作用的子函数为什么没有起作用
取消只看楼主
attitude123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-10-22
结帖率:75%
已结贴  问题点数:20 回复次数:1 
起归并作用的子函数为什么没有起作用
程序代码:
ist *merger(list *p1, list *p2)
{
    list *head, *p;
    while (p1 != NULL || p2 != NULL)
    {
        int i{ 1 };


        if (p1->num > p2->num)
        {
            if (i == 1)
            {
                p = head = p2; p2 = p2->next;
            }
            else
            {
                p->next = p2; p = p2; p2 = p2->next;
            }
        }
        else
        {
            if (i == 1)
            {
                p = head = p1; p1 = p1->next;
            }
            else
            {
                p->next = p1; p = p1; p1 = p1->next;
            }
        }
        if (p1 = NULL)
        {
            p->next= p2;
        }
        if (p2 = NULL)
        {
            p->next= p1;
        }
        i++;
    }
    return head;
}
建立了两个链表,让merger函数把传进来的两个链表按从小到大的顺序归并以个链表。为什么没有实现预期效果,求大神指导
搜索更多相关主题的帖子: 归并 子函数 head NULL next 
2017-11-21 20:32
attitude123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-10-22
得分:0 
回复 2楼 九转星河
n取不同的参数,通过循环建立的两个链表。
程序代码:
list *creat(int n)
{
    list *p1, *p2,*head;
    int i{1};
    while (i <= 5)
    {
        p1 = (list *)malloc(len);
        if (i == 1)
        {
            head = p1; p1->num = n;
        }
        else
        {
            p2->next = p1; p1->num = p2->num + 2;
        }
        p2 = p1;
        i++;
    }
    p2->next = NULL;
    return head;

}
2017-11-24 17:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482708-1-1.html




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

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