读书人

菜鸟有关问题.帮忙啊多谢了`哪位高手帮

发布时间: 2012-03-23 12:06:21 作者: rapoo

初学者问题..帮忙啊!~!...谢谢了``谁帮忙..给满分。.
#include <stdio.h>
#include <stdlib.h>
#define list_init_size 100
typedef struct
{
int * elem ;
int length;
int listsize ;
} sqlist ;

int listinit(sqlist *a,sqlist *b) //建立表..a和b...
{
a-> elem=(int *)malloc(list_init_size*sizeof(int )) ;
if(a-> elem==NULL)
return 0 ;
a-> length=NULL;
a-> listsize=list_init_size;


b-> elem=(int *)malloc(list_init_size*sizeof(int ));
if(b-> elem==NULL)
return 0 ;
b-> length=NULL;
b-> listsize=list_init_size;

return 1 ;

}

int mergelist(sqlist *a,sqlist *b,sqlist *c)
{
c-> elem=(int *)malloc(list_init_size*sizeof(int )) ; ///建立表C
if(c-> elem==NULL)
return 0 ;
c-> length=a-> length+b-> length;
c-> listsize=a-> listsize+b-> listsize;

int *la,*lb;
int i;



la=a-> elem+a-> length-1; //合并
lb=b-> elem+b-> length-1;
while(a-> elem <=la && b-> elem <=lb)
if(a-> elem <=b-> elem)
{
*(c-> elem)++=*(a-> elem)++;
}
else
{*(c-> elem)++=*(b-> elem)++;



}
while(a-> elem <= la)
*(c-> elem)++=*(a-> elem)++;

while(b-> elem <=lb)
*(c-> elem)++=*(b-> elem)++;
return 1;


}

main()
{
sqlist l,m,n;
int i,j,k;
listinit(&l,&m);
for(i=0;i <10;i++)
{
scanf( "%d ",&l.elem[i]);
l.length++;

}
for(j=0;j <10;j++)
{
scanf( "%d ",&m.elem[j]);
m.length++;

}

mergelist(&l,&m,&n);
for(k=0;k <=n.length-1;k++)
printf( "%d ",n.elem[k]);
return 1;


}




[解决办法]
拿我得号问题得时候那么大方。自己问就这么小气,,BS。。。

读书人网 >C语言

热点推荐