数据结构-线性表合并 C语言源码

版权声明:未经原作者允许不得转载本文内容,否则将视为侵权 https://blog.csdn.net/springhammer/article/details/88617542

数据结构-线性表合并 C语言源码

#include<stdio.h>
#include<stdlib.h>
struct HB{
	int*elem;
	int length;
};
void ko(HB& l,int n)
{
		int hj;
		l.elem=(int*)malloc(sizeof(int)*n);
		for(int k=0;k<n;k++)
		{
		scanf("%d",&hj);
		l.elem[k]=hj;	
		}
		l.length =n;
}
void xianshi(HB l)
{
	for(int i=0;i<l.length ;i++)
	{
		printf(" %d ",l.elem[i]);
	}
}
void hebin(HB&a,HB&b,HB&c)
{
	int max;
	int min;
	if(a.length>=b.length)
	{
		max=a.length;
		min=b.length;
	}
	else{
		max=b.length;
		min=a.length;
	}
	c.elem=(int*)malloc(max*sizeof(int));
	for(int i=0;i<min;i++)
	{
		if(a.elem[i]>=b.elem[i])
		{
			c.elem[i]=a.elem[i];
		}
		else{
			c.elem[i]=b.elem[i];
		}
	}
	if(a.length>=b.length )
	{
		for(int j=min;j<max;j++)
		{
			c.elem[j]=a.elem[j];
		}
	}
	else{
			for(int j=min;j<max;j++)
		{
			c.elem[j]=b.elem[j];
		}
	}
	c.length=max;
}
main()
{
	int n,m;
	HB a,b,c;
	printf("请输入第一个表长");
	scanf("%d",&n);
	printf("输入内容");
	ko(a,n);
	printf("请输入第二个表长");
	scanf("%d",&m);
	printf("输入内容");
	ko(b,m);
	hebin(a,b,c);
	printf("合并后为%d\n",c.length );
	xianshi(c);
	return 0; 
} 

快看,这才是重点!我想能看到这里的同学,无外乎两种人:来拷贝代码的人 和 来拷贝代码的人。

但,在拷贝走的时候,你要想清楚一件事,把代码拷走之后有个蛋用,搞明白对你来说才是最重要的。

好了,就酱紫。

老铁,这要是都不赞,说不过去吧!!!哦,对了,你这么好看,关注一下呗。。。

最后对自己说:
你现在所遭遇的每一个不幸,都来自一个不肯努力的曾经。

猜你喜欢

转载自blog.csdn.net/springhammer/article/details/88617542