用c语言去实现线性表的合并,删除重复(不重新排序)

用c语言去实现线性表的合并,删除重复(不重新排序)

老师留了一个作业,有两个集合A和B,设A={7,5,3,11},B={2,6,3},合并后A={7,5,3,11,2,6}
自己没有思路百度了好久,找到的大多都是其他语言的,要不就是直接重新排序的。硬着头皮写出来了,经历了无数次修改,写成了一个小小代码(自己感觉写的一塌糊涂,幸运的是还能运行)。然后发出来了来给大家提供一点微不足道的思路,也算是记录自己学习的一个过程吧。
上代码!

先来段我自己写的一塌糊涂代码

#include <stdio.h>
#define MAXSIDE 100 
void ListOutput(int *a,int *b , int m)
{
	int i, j, k, h = 0, g = 0,c[MAXSIDE];
	for (i = 0; *(a + i) != 0 ; i++)
		{
		for( j = 0 ; *( b + j ) != 0 ; j++)
			if(*(a+i)==*(b+j))//比较A和B找到相等项时,把此项在数组b中的位置存到a中 
			{
			g=c[h];
			h++;
			break;//跳出循环 
			}
		}
    for( k = 0,h = 0 ; *(a + k) != 0 ; k++)
    if(k != c[h])//当B里面的值的序号不等于刚刚提取出来的,在A的实际存储长度后,存储B的值 
	*( b + m + k) = *( a + k );
	else h+&#
  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlowerHeap

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值