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

该课程设计报告详细介绍了使用Java实现不同排序算法的过程,包括冒泡排序、插入排序和快速排序。通过Eclipse IDE在Windows环境下进行开发,生成随机数并存储,对排序方法的性能进行了对比,分析了各种排序方法所需的时间。报告还包含了代码实现和界面设计的说明。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif《java语言程序设计》课程设计报告——排序.doc

JAVA语言程序设计课程设计报告书院系名称计算机与网络安全学院专业班级2015级软件工程3班学号姓名指导教师完成时间2016年12月12号目录1系统功能及任务描述11系统总体功能描述12主要任务描述2系统的实现3系统的测试4总结41自我评价及收获42有待解决的问题及进一步完善的思路5参考文献6附录(代码附后)1系统功能及任务描述11系统总体功能描述本课程设计主要功能就是利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。12主要任务描述1至少采用两种方法实现上述问题求解(提示,可采用的方法有插入排序、冒泡排序、选择排序、交换排序等)。并把排序后的结果保存在不同的文件中。2统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。3如果采用4种或4种以上的方法者,可适当加分。2系统的实现21开发环境211工具ECLIPSE版本MARS1RELEASE451,WINDOWS64位JDK版本JDK7U51WINDOWSX64212电脑机型华硕R556L,系统64位22界面设计界面采用SWING轻量级组件开发,在1个JFRAME窗体中放置5个JLABEL标签,5个JBUTTON按钮,3个JTEXTFIELD文本框。23类设计24主要代码说明241主要按钮触发事件2411“确定”按钮给“确定”按钮添加事件监听器ADDACTIONLISTENER方法,内部类里实现ACTIONPEREDACTIONEVENTE方法,获取文本框JTEXTFIELD的数据,然后产生随机数,用LINKEDLIST集合存储进RANDOMNUMBERTXT文件,方便增加删除。//确定按钮事件JBUTTON_CONFIRMADDACTIONLISTENERNEWACTIONLISTENER{OVERRIDEPUBLICVOIDACTIONPEREDACTIONEVENTE{//TODO自动生成的方法存根//集合,用于存储数据LINKEDLISTLINKEDLISTNEWLINKEDLIST//获取文本框数据INTBEGININTEGERPARSEINTJTEXTFIELD_BEGINGETTEXTINTENDINTEGERPARSEINTJTEXTFIELD_ENDGETTEXTINTNUMINTEGERPARSEINTJTEXTFIELD_NUMGETTEXT//产生随机数FORINTI0I集合,接着顺序调用BUBBLE中READERTOFILEBUBBLESORTLINKEDLISTWRITERTOFILELINKEDLIST三个方法,其中将在BUBBLESORT方法前后获取当前系统时间,最后得到排序所用时间,显示在窗体中。//冒泡排序事件JBUTTON_BUBBLEADDACTIONLISTENERNEWACTIONLISTENER{OVERRIDEPUBLICVOIDACTIONPEREDACTIONEVENTE{//TODO自动生成的方法存根BUBBLEBUBBLENEWBUBBLELINKEDLISTLINKEDLISTNEWLINKEDLISTLINKEDLISTBUBBLEREADERTOFILELONGBEGINSYSTEMCURRENTTIMEMILLISLINKEDLISTBUBBLEBUBBLESORTLINKEDLISTLONGENDSYSTEMCURRENTTIMEMILLISJLABEL_TIMESETTEXT“冒泡排序所用时间“STRINGVALUEOFENDBEGIN“MS“BUBBLEWRITERTOFILELINKEDLIST}}242排序函数2421冒泡排序//冒泡排序LINKEDLISTBUBBLESORTLINKEDLISTLINKEDLIST{INTI,JINTEGERTEMPFORI0IDIRECTINSERTSORTLINKEDLISTLINKEDLIST{INTI,JINTEGERTEMPFORI0I0INTEGERTEMPFORI0IQUICKSORTLINKEDLISTLINKEDLIST,INTS,INTT{INTIS,JTINTTEMPIFSILINKEDLISTSETI,LINKEDLISTGETJWHILEI_LINKEDLIST{//存储到QUICKTXT文件中FILEFILENEWFILE“QUICKTXT“TRY{OUTPUTSTREAMWRITERWRITENEWOUTPUTSTREAMWRITERNEWFILEOUTPUTSTREAMFILE,“UTF8“BUFFEREDWRITERBUFFEREDWRITERNEWBUFFEREDWRITERWRITEFORINTI0IQUICKSORTLINKEDLISTLINKEDLIST,INTS,INTT{INTIS,JTINTTEMPIFSILINKEDLISTSETI,LINKEDLISTGETJWHILEIREADERTOFILE{LINKEDLISTLINKEDLISTNEWLINKEDLISTFILEFILENEWFILE“RANDOMNUMBERTXT“STREAMREADERREADERTRY{READERNEWSTREAMREADERNEWFILESTREAMFILE,“UTF8“BUFFEREDREADERBUFFEREDREADERNEWBUFFEREDREADERREADERSTRINGLINENULLTRY{WHILELINEBUFFEREDREADERREADLINENULL{INTTEMPINTEGERPARSEINTLINE//SYSTEMOUTPRINTLN“BUBBLE“TEMPLINKEDLISTADDTEMP}BUFFEREDREADERCLOSE}CATCHIOEXCEPTIONE1{//TODO自动生成的CATCH块E1PRINTSTACKTRACE}}CATCHUNSUPPORTEDENCODINGEXCEPTIONE1{//TODO自动生成的CATCH块E1PRINTSTACKTRACE}CATCHFILENOTFOUNDEXCEPTIONE1{//TODO自动生成的CATCH块E1PRINTSTACKTRACE}RETURNLINKEDLIST}}62BUBBLE类IMPORTJAVAIOIMPORTJAVAUTILLINKEDLISTPUBLICCLASSBUBBLE{VOIDWRITERTOFILELINKEDLISTLINKEDLIST{//存储到BUBBLETXT文件中FILEFILENEWFILE“BUBBLETXT“TRY{OUTPUTSTREAMWRITERWRITENEWOUTPUTSTREAMWRITERNEWFILEOUTPUTSTREAMFILE,“UTF8“BUFFEREDWRITERBUFFEREDWRITERNEWBUFFEREDWRITERWRITEFORINTI0IBUBBLESORTLINKEDLISTLINKEDLIST{INTI,JINTEGERTEMPFORI0IREADERTOFILE{LINKEDLIST

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值