欢迎来到天天文库
浏览记录
ID:20561697
大小:92.68 KB
页数:8页
时间:2018-10-13
《zgy实验三集合的交、并和差运算的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验三集合的交、并和差运算的实现1.问题描述用有序单链表表示集合,实现集合的交、并和差运算。2.基本要求⑴对集合中的元素,用有序单链表进行存储;(2)实现交、并、差运算吋,不另外申请存储空间;(3)充分利用单链表的有序性,算法有较好的时间性能。3.编码zgyllll.hFilestemplatestructNode{Tdata;Node*next;};templateclassLinkList{public:LinkLi$t();LinkList(Ta[],intn);voidInte
2、rest(LinkListsi,LinkLists2);voidUnion(LinkListsi,LinkLists2);voidCompiement(LinkListsi,LinkLists2);voidPrintList();private:Node*first;};zgyl234.cppFiles#includeusingnamespacestd;#include"zgy111l.h•’templateLinkList::LinkList()first=newNode<
3、T>;first-〉next=NULL;}templateLinkList::LinkList(Ta[J,intn){first=newNode;Node*r=first;for(inti=O;i*s=newNode;s->data=a[il;r-〉next=s;r=s;}r->next=NULL;)templatevoidLinkList::Interest(LinkListsl,LinkLists2)//交集{Node*p
4、re=s1.first;Node*p=sl.first->next;Node*q=s2.first->next;while(p&&q){if(p->datadata){pre->next=p->next;pre二p;p=p,〉next;}elseif(p->data>q->data)q=q->next;else{pre=p;p=p-〉next;q=q->next;}}pre->next=NULL;templatevoidLinkList::Union(LinkListsl,Link
5、Lists2)//并集{Node*pre=s1.first,*p=sl.first-〉next,*q=s2.first-〉next;while(p&&q){if(p-〉datanext;}elseif(p-〉data〉q-〉data){pre->next=q;q=q->next;pre->next->next=p;}else{pre二p;p=p->next;q=q-〉next;}}if(p==NULL&&q){pre-〉next=q;}}templatevoi
6、dLinkList::Compiement(LinkListsl,LinkLists2)//差集{Node*pre=s1.first,*p=sl.first->next,*q=s2.first->next;while(p&&q){if(p-〉datadata>q->data){q=q->next;}else{pre->next=p->next;p=p->next;q=q->next;}}}templatecclassT>voidLinkLi
7、st::PrintList(){Node*p=first->next;while(p!=NULL){cout«p->data«Hp=p-〉next;}I主函数#include8、的元素.•’•;for(inti=O;ilist1(a,m),li$t2(b,n);cout<<"请选择功能
8、的元素.•’•;for(inti=O;ilist1(a,m),li$t2(b,n);cout<<"请选择功能
此文档下载收益归作者所有