⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.26.c

📁 数据结构习题及答案
💻 C
字号:
2.26④  假设以两个元素依值递增有序排列的线性表
A和B分别表示两个集合(即同一表中的元素值各不相
同),现要求另辟空间构成一个线性表C,其元素为A
和B中元素的交集,且表C中的元素也依值递增有序排
列。试对单链表编写求C的算法。

实现下列函数:
void Intersect(LinkList &hc, LinkList ha, LinkList hb);

单链表类型定义如下:
typedef struct LNode{
    ElemType      data;
    struct LNode *next;
} LNode, *LinkList;
void Intersect(LinkList &hc, LinkList ha, LinkList hb)
{
  LinkList p,q,pc,s;
  p=ha->next;q=hb->next;
  pc=hc;
  while(p&&q)
  {
    if(p->data<q->data) p=p->next;
    else if(p->data>q->data) q=q->next;
    else
    { s=(LNode*)malloc(sizeof(LNode)); 
      s->data=p->data;
      s->next=NULL;
      pc->next=s;pc=s;
      p=p->next;q=q->next;
      
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -