java语言交集并集差集的程序设计报告.doc

上传人:jian****018 文档编号:9560879 上传时间:2020-04-06 格式:DOC 页数:7 大小:228KB
返回 下载 相关 举报
java语言交集并集差集的程序设计报告.doc_第1页
第1页 / 共7页
java语言交集并集差集的程序设计报告.doc_第2页
第2页 / 共7页
java语言交集并集差集的程序设计报告.doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
课 程 设 计 课程名称 Java语言课程设计 题目名称 集合的并、交和差运算 学生学院 应用数学学院 专业班级_ 11信息安全(2)_学 号 3111008245 学生姓名 吴辰修 指导教师 刘科峰 2013 年 10 月 28 日一、课程设计的内容用Java语言实现单链表的基本操作,并实现集合的并、交和差运算。多人合作的要使用图形界面进行数据输入、输出。二、课程设计的要求与数据所写报告要表达清楚,让老师明白你做了哪些工作,掌握了哪些知识。你所做的课程设计有何特点和优点。三、程序设计思想、源代码 通过单链表实现集合的交、并、差运算。主要有三部分:节点的构造、单链表的建立、集合的三个运算。 /* * To change this template, choose Tools | Templates * and open the template in the editor. */package set;class LNode char data; LNode next; LNode() data= ; next=null; LNode(char data1,LNode next1) /节点的构造方法(特殊的重载) data = data1; next = next1; public void setData(char data1) data = data1; public char getData() return data; public void setNext(LNode next1) next = next1; public LNode getNext() return next; public class Set LNode head; / 头结点 int length; / 长度 Set() /链表的构造方法 head = new LNode(); /调用子类的构造方法 length = 0; public void Initset(char data1) /用char数组创建集合链; for (int i = 0; i data1.length; +i) Inset(data1i); public void Inset(char item) /用char类型数据插入节点的方法 LNode LNode = new LNode(item, null); /创建一个节点LNode LNode temp = head; /增加一个节点 LNode.setNext(head.getNext(); head.setNext(LNode); length+; public void delete(int n) /在指定位置删除节点方法; if(nlength) System.out.print(位置不存在!); LNode temp = head; for(int i=0; in-1;i+) temp = temp.getNext(); temp.setNext(temp.getNext().getNext(); length-; public void print() /遍历所有节点,输出每个节点数据; LNode temp = head; System.out.print(); while (temp.getNext() != null) System.out.print(temp.getNext().getData() + ,); temp = temp.getNext(); System.out.print(); System.out.println(链表长度为:+length); public Set jiaoji(Set set1, Set set2) Set set3 ; set3=new Set(); LNode temp1 = set1.head.getNext(); /temp1引用链表set1的第一个结点 LNode temp2 = 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; / 回到头结点 System.out.printf(两集合的交集为: ); return set3; public Set bingji(Set set1, Set set2) Set set4; set4=new Set(); LNode temp1 = set1.head.getNext(); /指向头结点的下一个结点 LNode temp2 = set2.head.getNext(); while (temp1 != null) /相当于求差集; while (temp2 != null) if (temp1.getData() = temp2.getData() break; temp2 = temp2.getNext(); if (temp2 = null) set4.Inset(temp1.getData(); temp2 = set2.head.getNext(); temp1 = temp1.getNext(); while (temp2 != null) /插入set2数据; set4.Inset(temp2.getData(); temp2 = temp2.getNext(); System.out.printf(两集合的并集为:); return set4; public Set chaji(Set set1, Set set2) Set set5; set5=new Set(); LNode temp1 = set1.head.getNext(); /set1当前的位置 LNode temp2 = set2.head.getNext(); while (temp1 != null & temp2 != null) while (temp2 != null) if (temp1.getData() = (temp2.getData() /两数据相同,则跳出该循环; break; temp2 = temp2.getNext(); if (temp2 = null) /插入temp1的数据到set5;即得到集合1中与集合2不同的数据; set5.Inset(temp1.getData(); temp1 = temp1.getNext(); temp2 = set2.head; System.out.printf(集合1减去集合2的差集为:); return set5; public static void main(String args) Set set1 = new Set(); Set set2 = new Set(); Set set3 = new Set(); Set set4 = new Set(); Set set5 = new Set(); char ch1=1,2,3,4,; char ch2=2,3,4,5 ; set1.Initset(ch1); set2.Initset(ch2); System.out.printf(集合1为: ); set1.print(); System.out.printf(集合2为: ); set2.print(); set3=set1.jiaoji(set1, set2); set3.print(); set4=set1.bingji(set1, set2); set4.print(); set5=set1.chaji(set1, set2); set5.print(); 运行结果: 4、 问题探讨与总结 这次为期一周的Java语言课程设计对我印象极为深刻,开始时,我还感到比较的迷茫,仅仅可以用一些基本的知识来写一些基本的语句,而对于集合运算整个程序的设计却是非常迷茫,经过一周的学习,加上同学的请教等现在对于自己的程序达到了完全的理解,在以后同样的问题上,我相信自己就可以很轻松的解决了。在这期间我们也遇到了好多的困难,但是通过老师的教导和对一些文献的参考等,使得我对知识有了更加深入的了解,这对我们以后的工作有很大的帮助,在这里向老师表示由衷的感谢。一周的Java语言课程设计结束了。原计划的设计思想也基本实现,回首整个过程,我深刻的体会到了学无止境的道理,不仅加深了我对数据结构知识的了解和掌握,而且对程序的设计也有了更加深入的体会。与此同时,我的设计报告仍然有一些不足之处,一些集合元素判断问题等没有设计。因此不是很完美,但是学习的真正目的在于应用。这次实验对我来说仍然是一个很好的锻炼机会,是最宝贵的,通过不断的尝试和锻炼才能巩固自己所学的知识,提高自己的应用能力,这些经验对我走向社会都是一笔宝贵的财富。五、应收集的资料及主要参考文献1 耿祥义,张跃平. Java大学实用教程(第2版)M. 电子工业出版社.2 皮德常. Java简明教程(第3版)M. 清华大学出版社.3 严蔚敏,吴伟民,米宁. 数据结构题集M. 清华大学出版社.
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!