欢迎来到天天文库
浏览记录
ID:8959352
大小:242.50 KB
页数:7页
时间:2018-04-13
《java语言交集并集差集的程序设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、课程设计课程名称Java语言课程设计题目名称集合的并、交和差运算学生学院应用数学学院专业班级___11信息安全(2)__学号3111008245学生姓名吴辰修指导教师刘科峰2013年10月28日一、课程设计的内容用Java语言实现单链表的基本操作,并实现集合的并、交和差运算。多人合作的要使用图形界面进行数据输入、输出。二、课程设计的要求与数据所写报告要表达清楚,让老师明白你做了哪些工作,掌握了哪些知识。你所做的课程设计有何特点和优点。三、程序设计思想、源代码通过单链表实现集合的交、并、差运算。主要有三部分:节点的构造、单链表的建立、集合的三个运算。/**Tochangethistempla
2、te,chooseTools
3、Templates*andopenthetemplateintheeditor.*/packageset;classLNode{chardata;LNodenext;LNode(){data='';next=null;}LNode(chardata1,LNodenext1){//节点的构造方法(特殊的重载)data=data1;next=next1;}publicvoidsetData(chardata1){data=data1;}publicchargetData(){returndata;}publicvoidsetNext(LNodenext1){nex
4、t=next1;}publicLNodegetNext(){returnnext;}}publicclassSet{LNodehead;//头结点intlength;//长度Set(){//链表的构造方法head=newLNode();//调用子类的构造方法length=0;}publicvoidInitset(char[]data1){//用char数组创建集合链;for(inti=0;i5、item,null);//创建一个节点LNodeLNodetemp=head;//增加一个节点LNode.setNext(head.getNext());head.setNext(LNode);length++;}publicvoiddelete(intn){//在指定位置删除节点方法;if(n<16、7、n>length){System.out.print("位置不存在!");}LNodetemp=head;for(inti=0;i8、ublicvoidprint(){//遍历所有节点,输出每个节点数据;LNodetemp=head;System.out.print("{");while(temp.getNext()!=null){System.out.print(temp.getNext().getData()+",");temp=temp.getNext();}System.out.print("}");System.out.println("链表长度为:"+length);}publicSetjiaoji(Setset1,Setset2){Setset3;set3=newSet();LNodetemp1=set1.9、head.getNext();//temp1引用链表set1的第一个结点LNodetemp2=set2.head.getNext();//temp2引用链表set2的第一个结点while(temp1!=null&&temp2!=null){while(temp2!=null){if(temp1.getData()==temp2.getData()){set3.Inset(temp1.getData());}temp2=temp2.getNext();//引用不断往后移}temp1=temp1.getNext();//当前引用不断往下移temp2=set2.head;//回到头结点}Syst10、em.out.printf("两集合的交集为:");returnset3;}publicSetbingji(Setset1,Setset2){Setset4;set4=newSet();LNodetemp1=set1.head.getNext();//指向头结点的下一个结点LNodetemp2=set2.head.getNext();while(temp1!=null){//相当于求差集;while(temp2!=nul
5、item,null);//创建一个节点LNodeLNodetemp=head;//增加一个节点LNode.setNext(head.getNext());head.setNext(LNode);length++;}publicvoiddelete(intn){//在指定位置删除节点方法;if(n<1
6、
7、n>length){System.out.print("位置不存在!");}LNodetemp=head;for(inti=0;i8、ublicvoidprint(){//遍历所有节点,输出每个节点数据;LNodetemp=head;System.out.print("{");while(temp.getNext()!=null){System.out.print(temp.getNext().getData()+",");temp=temp.getNext();}System.out.print("}");System.out.println("链表长度为:"+length);}publicSetjiaoji(Setset1,Setset2){Setset3;set3=newSet();LNodetemp1=set1.9、head.getNext();//temp1引用链表set1的第一个结点LNodetemp2=set2.head.getNext();//temp2引用链表set2的第一个结点while(temp1!=null&&temp2!=null){while(temp2!=null){if(temp1.getData()==temp2.getData()){set3.Inset(temp1.getData());}temp2=temp2.getNext();//引用不断往后移}temp1=temp1.getNext();//当前引用不断往下移temp2=set2.head;//回到头结点}Syst10、em.out.printf("两集合的交集为:");returnset3;}publicSetbingji(Setset1,Setset2){Setset4;set4=newSet();LNodetemp1=set1.head.getNext();//指向头结点的下一个结点LNodetemp2=set2.head.getNext();while(temp1!=null){//相当于求差集;while(temp2!=nul
8、ublicvoidprint(){//遍历所有节点,输出每个节点数据;LNodetemp=head;System.out.print("{");while(temp.getNext()!=null){System.out.print(temp.getNext().getData()+",");temp=temp.getNext();}System.out.print("}");System.out.println("链表长度为:"+length);}publicSetjiaoji(Setset1,Setset2){Setset3;set3=newSet();LNodetemp1=set1.
9、head.getNext();//temp1引用链表set1的第一个结点LNodetemp2=set2.head.getNext();//temp2引用链表set2的第一个结点while(temp1!=null&&temp2!=null){while(temp2!=null){if(temp1.getData()==temp2.getData()){set3.Inset(temp1.getData());}temp2=temp2.getNext();//引用不断往后移}temp1=temp1.getNext();//当前引用不断往下移temp2=set2.head;//回到头结点}Syst
10、em.out.printf("两集合的交集为:");returnset3;}publicSetbingji(Setset1,Setset2){Setset4;set4=newSet();LNodetemp1=set1.head.getNext();//指向头结点的下一个结点LNodetemp2=set2.head.getNext();while(temp1!=null){//相当于求差集;while(temp2!=nul
此文档下载收益归作者所有