| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 561 人关注过本帖
标题:朋友帮我改一个简单程序
只看楼主 加入收藏
冰河2004
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-12-22
收藏
 问题点数:0 回复次数:1 
朋友帮我改一个简单程序
实现链表的合并
基本要求:
(1)  建立两个链表A和B,链表的个数分别为m和n个;
(2) 假设元素分别为(X1,X2,X3,。。。Xm)和(Y1,Y2,Y3。。。
Yn)。把它们合并成一个线形表C使得:当m》n时,C=X1,Y1,X2,
Y2。。。Xn,Yn。。。Xm
当n》m时,C=Y1,X1,Y2,X2。。。Yn,Xn。。。Yn输出线形表。



我快晕死了上次在论坛里面找的一个算法不太对,汗~~~自己不怎么会改搞了一天都没有什么进展,太菜了吧,急寻高手帮我解答感激涕零~~在线等。

#include"stdio.h"
#include"malloc.h"
typedef struct  LNode{
int  data[];
int length;
struct LNode *next;
}LNode,*List;

struct LNode *MergeList(List a,List b,List c)
{
  int m,n,i,j;

  m=a->length;  n=b->length;

if(m>=n)
   {
      for(i=1,j=1;i<=n,j<=n;i++,j++)
       {
      c->data[2*i]=a->data[j];

      c->data[2*i-1]=b->data[j];

       }
     
    for(i=n+n;i<=m+n;i++)
      { c->data[i]=a->data[i]; }

    }

  else
   {
     for(i=1,j=1;i<=m,j<=m;i++,j++)
       {
      c->data[2*i-1]=b->data[j];

      c->data[2*i]=a->data[j];

       }

     for(i=m+m;i<=n+m;i++)
    {   c->data[i]=b->data[i]; }

    }
  return c;
}
struct LNode *CreatList(List L,int n)
{int i;
List p;
L=(List)malloc(sizeof(LNode));

L->next=NULL;
for(i=n;i>0;i--) {
p=(List)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;

}return L;
}
void main()
{int x,y,i;
List a,b,c,p;
printf("input the length of a:\n");
scanf("%d",&x);
printf("input the length of b:\n");
scanf("%d",&y);
printf("input a:\n");
for(i=1;i<=x;i++)
scanf("%d",&a->data[i]);
printf("input b:\n");
for(i=1;i<=y;i++)
scanf("%d",&b->data[i]);
a->length=x;b->length=y;
CreatList(a,x);
CreatList(b,y);
MergeList(a,b,c);
for(i=1;i<=x+y;i++)
printf("%d",c->data[i]);
}
这是本人的完整程序,可是老出现指针错误请高手帮我改一改,非常感谢~~
搜索更多相关主题的帖子: 朋友 
2005-06-06 12:57
冰河2004
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-12-22
收藏
得分:0 
等待着~~
2005-06-06 16:00
快速回复:朋友帮我改一个简单程序
数据加载中...
 
   



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

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