《Java语言程序设计》课程设计报告——排序.doc

上传人:壹****1 文档编号:559388600 上传时间:2023-10-04 格式:DOC 页数:25 大小:958.50KB
返回 下载 相关 举报
《Java语言程序设计》课程设计报告——排序.doc_第1页
第1页 / 共25页
《Java语言程序设计》课程设计报告——排序.doc_第2页
第2页 / 共25页
《Java语言程序设计》课程设计报告——排序.doc_第3页
第3页 / 共25页
《Java语言程序设计》课程设计报告——排序.doc_第4页
第4页 / 共25页
《Java语言程序设计》课程设计报告——排序.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《Java语言程序设计》课程设计报告——排序.doc》由会员分享,可在线阅读,更多相关《《Java语言程序设计》课程设计报告——排序.doc(25页珍藏版)》请在金锄头文库上搜索。

1、JAVA语言程序设计课程设计报告书院系名称 计算机与网络安全学院 专业班级 2015级软件工程3班 学号 姓名 指导教师 完成时间 2016年12月1-2号 目 录1.系统功能及任务描述1.1系统总体功能描述1.2主要任务描述2.系统的实现3.系统的测试4.总结4.1自我评价及收获4.2有待解决的问题及进一步完善的思路5.参考文献6.附录(代码附后)1. 系统功能及任务描述1.1系统总体功能描述本课程设计主要功能就是利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。1.2主要任务描述1) 至少采用两种方法实现上述问题求解(提示,可采用的方法有插入排序、冒泡排序、选择

2、排序、交换排序等)。并把排序后的结果保存在不同的文件中。2) 统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。3) 如果采用4种或4种以上的方法者,可适当加分。2. 系统的实现2.1开发环境2.1.1工具Eclipse:版本 Mars.1 Release (4.5.1),windows 64位JDK:版本jdk-7u51-windows-x64.exe2.1.2 电脑机型华硕R556L,系统64位2.2界面设计界面采用Swing轻量级组件开发,在1个JFrame窗体中放置5个JLabel标签,5个JButton按钮,3个JTextField文本框。2

3、.3 类设计2.4 主要代码说明2.4.1 主要按钮触发事件2.4.1.1 “确定”按钮给“确定”按钮添加事件监听器addActionListener方法,内部类里实现actionPerformed(ActionEvent e)方法,获取文本框JTextField的数据,然后产生随机数,用LinkedList集合存储进RandomNumber.txt文件,方便增加删除。/确定按钮事件jButton_confirm.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) /

4、 TODO 自动生成的方法存根/集合,用于存储数据LinkedList linkedList = new LinkedList();/获取文本框数据int begin = Integer.parseInt(jTextField_begin.getText();int end = Integer.parseInt(jTextField_end.getText();int num = Integer.parseInt(jTextField_num.getText();/产生随机数for(int i=0;inum;i+)int temp = (int) (Math.random() * (end-b

5、egin)+begin;linkedList.add(temp);/输出到屏幕for(int i=0;inum;i+)System.out.println(Random随机数-+linkedList.get(i);System.out.println(随机数个数-+linkedList.size();/存储到RandomNumber.txt文件中File file = new File(RandomNumber.txt);try OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(file),UTF-8)

6、; BufferedWriter bufferedWriter = new BufferedWriter(write); for(int i=0;ilinkedList.size();i+)String str = String.valueOf(linkedList.get(i);String string = new String(str.getBytes(iso8859-1),UTF-8);bufferedWriter.write(string+n);bufferedWriter.close(); catch (IOException e1) / TODO 自动生成的 catch 块e1.

7、printStackTrace();/读取RandomNumber.txt文件InputStreamReader reader;try reader = new InputStreamReader(new FileInputStream(file),UTF-8);BufferedReader bufferedReader = new BufferedReader(reader);String line = null; try while (line = bufferedReader.readLine() != null) System.out.println(RandomNumber文件-+l

8、ine);bufferedReader.close(); catch (IOException e1) / TODO 自动生成的 catch 块e1.printStackTrace(); catch (UnsupportedEncodingException e1) / TODO 自动生成的 catch 块e1.printStackTrace(); catch (FileNotFoundException e1) / TODO 自动生成的 catch 块e1.printStackTrace(););2.4.1.1 “冒泡”按钮 同样给“冒泡”按钮添加监听器,在actionPerformed(A

9、ctionEvent e)方法里创建Bubble类对象,重新创建一个新的LinkedList集合,接着顺序调用Bubble中readerToFile()bubbleSort(linkedList)writerToFile(linkedList)三个方法,其中将在bubbleSort()方法前后获取当前系统时间,最后得到排序所用时间,显示在窗体中。/冒泡排序事件jButton_bubble.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO 自动生成的方法

10、存根Bubble bubble = new Bubble();LinkedList linkedList = new LinkedList();linkedList = bubble.readerToFile();long begin = System.currentTimeMillis();linkedList = bubble.bubbleSort(linkedList);long end = System.currentTimeMillis();jLabel_time.setText(冒泡排序所用时间:+String.valueOf(end-begin)+ms);bubble.write

11、rToFile(linkedList););2.4.2 排序函数2.4.2.1 冒泡排序/冒泡排序LinkedList bubbleSort(LinkedList linkedList)int i,j;Integer temp;for(i=0;ilinkedList.size()-1;i+)for(j=1;jlinkedList.size()-i;j+)if(linkedList.get(j)linkedList.get(j-1)temp = linkedList.get(j);linkedList.set(j, linkedList.get(j-1);linkedList.set(j-1),

12、 temp);System.out.println(排序后*+linkedList);/排序后return linkedList;2.4.2.2 直接插入排序/直接插入排序LinkedList directInsertSort(LinkedList linkedList)int i,j;Integer temp;for(i=0;i=0 & templinkedList.get(j)linkedList.set(j+1), linkedList.get(j);j-;linkedList.set(j+1), temp);System.out.println(排序后*+linkedList);/排序后return linkedList;2.4.2.2 直接选择排序 /直接选择排序 LinkedList directSelectSort(LinkedList linkedList

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号