单链表的应用

您所在的位置:网站首页 数据结构求两个集合的差集 单链表的应用

单链表的应用

2024-07-09 13:12| 来源: 网络整理| 查看: 265

  利用单链表求两个集合的交集,利用前文写好的链表的框架,在链表类中补充Intersection方法。

利用单链表两个集合的交集 一、问题分析二、代码分析1.链表类LinkList2.链表方法Intersection 三、测试代码1.主函数2.输出结果 四、源代码获取(免积分)

一、问题分析

  利用单链表两个集合的交集。

二、代码分析

  使用单链表first1和单链表first2实现求集合的交集,用指针p指向first1的首元节点,判断其在first2中是否出现过,如果出现过,则输出p->data;后移p,直到first1中所有元素点都被判断一遍为止。

1.链表类LinkList

  在链表类中声明Union方法。

/*位于LinkList.h文件中*/ template class LinkList{ public: LinkList();//构造函数 ~LinkList();//析构函数 void Insert(int i ,ElemType x);//插入函数 void PrintList();//打印所有元素 int Length();//获取链表长度 ElemType Get(int i) ;//按位查找,返回第i个元素的值 int Locate(ElemType x) ;//按值查找,返回x在单链表中的位置 ElemType Delete(int i) ;//删除第i个元素 Node* GetFirst(){return first;}; void Intersection(LinkList& L) ; private: Node* first; //头指针 }; 2.链表方法Intersection /*位于LinkList.cpp文件中*/ template void LinkList::Intersection(LinkList& L) { Node* L1_First=this->first; Node* p=L1_First->next; while(p!=NULL) { /*在L2中查找p的数据是否存在*/ int i=L.Locate(p->data) ; //如果存在,则输出,直到L1遍历结束 if(i!=0) { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3