标题:链表的建立与归并
只看楼主
attitude123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-10-22
结帖率:75%
已结贴  问题点数:20 回复次数:3 
链表的建立与归并
程序代码:
#include<iostream>
#include<stdlib.h>
#define len sizeof(list)
using namespace std;
struct list
{
    int num;
    struct list *next;
};
list *creat(int n);
list *merger(list *head1, list *head2);
void delnode(list *head);
int main()
{
    list *LA, *LB,*LC;
    LA = creat(1);
    LB = creat(2);
    LC = merger(LA, LB);
    while (LC != NULL)
    {
        cout << LC->num<<"\t"; LC = LC->next;
    }
    delnode(LC);
    return 0;
}
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;

}
list *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;
}
    void delnode(list *head)
    {
        if (head = NULL)
            return;
        list *t, *p;
        p = head;
        if (p != NULL)
        {
            t = p;
            p = p->next;
            free(t);
        }
        head = NULL;
    }
        
        

为什么merger没有起作用

[此贴子已经被作者于2017-11-14 22:13编辑过]

搜索更多相关主题的帖子: list num next head NULL 
2017-11-13 20:20
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:20 
检查merger函数花括号是否配对。
2017-11-13 21:46
attitude123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-10-22
得分:0 
回复 2楼 xzlxzlxzl
非常感谢!

[此贴子已经被作者于2017-11-14 22:14编辑过]

2017-11-14 16:50
attitude123
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2017-10-22
得分:0 
回复 2楼 xzlxzlxzl
我把程序改了一下,merger函数没有起作用,为什么呢?

[此贴子已经被作者于2017-11-14 22:15编辑过]

2017-11-14 17:16



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




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

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