实现两个集合a,b交集的算法?

liuyan55 2004-05-06 01:12:06
实现两个集合a,b交集的算法,
typedef struct node{
int data;
struct node *next;
} snode;

snode * setintersection(snode * a, snode * b)
{
snode *c,*p;
c=NULL;
while(a) /*verify wether the elements of SET a is in SET b or not*/
for(p=b;p&&p->data!=a->data;p=p->next);
…….
snode * setintersection(snode * a, snode * b),怎样理解结构体指针的函数(我不知道是否该这么说);另外对for(p=b;p&&p->data!=a->data;p=p->next);中的p&&p->data!=a->data如何理解?

...全文
201 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cngdzhang 2004-05-06
它是归并两个链表(集合)
返回归并后的链表的头指针

for(p=b;p&&p->data!=a->data;p=p->next);中的p&&p->data!=a->data

是先判断p是否是NULL 即 0
短路算法
如果是NULL,那么循环条件不成立,退出循环
如果不是再判断p->data!=a->data 如果p->data不等于a->data
p下移

  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-06 01:12
社区公告
暂无公告