已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
题目
已知两个顺序表A和B分别表示两个集合,其元素递增排列,编写一个函数求出A和B的交集
要用简单的c++写啊,刚学不太会啊
已知两个整数集合A和B,它们的元素分别依元素值递增有序存放在两个单链表HA和HB中,编写一个函数求出这两个集合的并集C,并要求集合C的链表的结点仍依元素值递增有序存放。(提示:求并集不是归并!)
答案
由于问题与问题补充不一致,问题是要求交集,是找A和B的相同元素,问题补充里是求并集,强调不是归并,我按并集写的,如果是交集再稍加修改就可以了.
LinkList *LinkMag(LinkList *ha, LinkList *hb)//假设ha和hb是带头结点的链表
{
x09Link *p, *q, *r,*hc,*aa;
x09hc->head = (Link*)malloc(sizeof(Link));
x09p = ha->next;
x09q = hb->next;
x09r = hc;
x09while(p!=NULL && q!=NULL)
x09{x09aa = (Link*)malloc(sizeof(Link));
x09x09if(p->datadata)//如果是交集的话,没有传递数据,只有指针移动,即只执行p=p->next;就可以了
x09x09{x09aa->data = p->data;
x09x09x09p = p->next;
x09x09}
x09x09else//如果是交集的话,还要判断等于的情况,只有等于的情况,才有传递数据,而大于的情况与小于情况类似,只有指针移动.
x09x09{x09aa->data = q->data;
x09x09x09q = q->next;
x09x09}
x09x09r->next = aa;
x09x09r = aa;
x09}
x09while(p!=NULL)
x09{x09aa = (Link*)malloc(sizeof(Link));
x09x09aa->data = p->data;
x09x09p = p->next;
x09x09r->next = aa;
x09x09r = aa;
x09x09}
x09while(q!=NULL)
x09{x09aa = (Link*)malloc(sizeof(Link));
x09x09aa->data = q->data;
x09x09q = q->next;
x09x09r->next = aa;
x09x09r = aa;
x09x09}
r->next=NULL;
return hc;
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- 请问商鞅变法梭伦改革,北魏孝文帝改革,分别都是什么阶级?
- 费俊龙和聂海胜是怎样在神舟六号的飞船内睡觉的?
- 已知三角形ABC中,顶点A(2,1),B(-1,1),直线L:x+2y-1=0平分∠ACB.求顶点C的坐标.
- 盐水中有1g食盐和100g水十盐占盐水的几分之几
- 大人,岂见覆巢之下,复有完卵乎?的意思.急!
- 请问植物细胞中有蛋白质吗
- 写巧克力的作文,
- No such a thing as a ghost exist in the world.
- 禽流感的禽类包括哪些动物?家里养的宠物狗包括在内吗?
- 一棵树高12米,一只蜗牛从树根部爬行,白天爬5米,晚上下滑4米,问蜗牛需要几天爬到树顶?
热门考点