1、实验报告一、 题目:已知两个单链表 A、B 分别表示两个集合,其元素非递增。请编写程序求集合 A 和 B 的交集 C。二、 设计:(1) 本体具体设计1 编写单链表2 在链表的公共成员中创建链表,在私有成员中创建求交集函数。3 在主函数调用 insert 和 get-element 等函数存储结构数组存储 data结点类struct node int data;node*next;单链表类list()list() head=new node;count=0;int length() return count;bool empty() if (count=0) return true; else
2、 return false;bool insert(int n,int x)if (ncount+1) return false; else node*u=head;for (int i=1;inext;node*s=new node;s-data=x;s-next=u-next;u-next=s;count+;return true;bool get_element(int n,int if (ncount) return false; else node*u=head;for (int i=1;inext;x=u-data;return true;bool locate(int n)if
3、(empty() return false;node*u=head;int n=0;for (int i=1;inext-data=x) an=u-next;u=u-next;if (n=0) return false; else return true;node*locate()node*u=head;node*s;int i;for (i=1;inext;s=u;return s;bool delete_element(int x)if(empty() return false;if (ncount) return false; else node*u=head;for (int i=1;
4、inext;node*s=u-next;u-next=s-next;delete s;count-;return true;list()while(!empty() delete_element(1);delete head;求交集函数void jiaoji(listint n=1;for (i=1;ix;a.insert(i,x);coutx;b.insert(i,x);a_lin=a;b_lin=b;cout“n 交集为n“;jiaoji(a_lin,b_lin,d);for (i=1;i=d.length();i+) d.get_element(i,x);coutx“ “;总结:1) 在敲过程中,编了个重载学霸新教我的运算符重载,其实没啥用,就是想试一下能不能运行出来。2) 在运行第二个输入时,出现了输入 B 集合后自动关闭窗口情况。然后重新输入就好了。