| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:求高手帮看下这个程序,是关于线性链表的
取消只看楼主 加入收藏
lly10120303
Rank: 2
等 级:论坛游民
帖 子:11
专家分:12
注 册:2011-3-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
求高手帮看下这个程序,是关于线性链表的
#include <stdio.h>
#include <stdlib.h>

typedef struct LISTSTRUCT //线性表结点
{
    int data;
    struct LISTSTRUCT *next;
}LNode,*LinkList;

LinkList InitList() //初始化头结点
{
    LinkList L;
    L=(LinkList)malloc(sizeof(LNode));
    L->next=NULL;
    return L;
}

void CreatList(LinkList L) //出入链表数据,采用尾插法。
{
    int _data;
    LinkList p,q=L;
    scanf("%d",&_data);
    while(_data!=2012)
    {
        p=(LinkList)malloc(sizeof(LNode));
        p->data = _data;
        q->next=p;
        q=p;
        scanf("%d",&_data);
    }
    q->next=NULL;
}

LinkList CombineList(LinkList L1,LinkList L2,LinkList L3) //求两个链表和并集,假设链表数据是递增排序的。
{
    L3=InitList();
    LinkList p1=L1->next;//说这里的LinkList使用不合法
    LinkList p2=L2->next;
    LinkList p3=L3;
    while(p1 &&p2)
    {
        if( p1->data < p2->data )
        {
            p3->next=p1;
            p1=p1->next;
        }
        if( p1->data > p2->data )
        {
            p3->next=p2;
            p2=p2->next;
        }
        if( p1->data = p2->data )
        {
          p1=p1->next;
        }
   
    }//while
   
    //如果其中一个链表还有结点,则将其与L1链表尾想连
    //如果其中还有重复的结点就删除多余的,只留一个。
    if(p1)
    p3->next=p1;

    if(p2)
    p3->next=p2;
    free(L1);
    free(L2);
    return L3;
}

void DisplayList(LinkList L)//输出链表数据
{
    L=L->next;
    while(L)
    {
        printf("%d  ",L->data);
        L=L->next;
    }
    printf("\n");
}

int main()
{
    LinkList L1,L2;
    L1=InitList();
    L2=InitList();
    CreatList(L1);
    CreatList(L2);
   
    CombineList(L1,L2,L3);
    DisplayList(L3);
    return 0;
}
搜索更多相关主题的帖子: 线性表 return 
2011-04-30 21:51
lly10120303
Rank: 2
等 级:论坛游民
帖 子:11
专家分:12
注 册:2011-3-30
收藏
得分:0 
回复 2楼 mayuebo
你好,非常谢谢你的回帖,这个程序差不多都懂了,但是为什么那个合并的函数那样编写不行呢?还有就是,LinkList CombineList(LinkList L1,LinkList L2,LinkList &L3)为什么会编译出错,什么时候要用那个&
2011-05-05 10:24
快速回复:求高手帮看下这个程序,是关于线性链表的
数据加载中...
 
   



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

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