JAVA数组的排序方法实例.docx_第1页
JAVA数组的排序方法实例.docx_第2页
JAVA数组的排序方法实例.docx_第3页
JAVA数组的排序方法实例.docx_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

冒泡排序法1. publicclassSortArray_01 2. publicstaticvoidmain(Stringargs) 3. intarray=14,5,86,4,12,3,21,13,11,2,55;/创建一个初始化的一维数组array 4. System.out.println(未排序的数组:); 5. for(inti=0;iarray.length;i+)/遍历array数组中的元素 6. System.out.print(+arrayi);/输出数组元素 7. if(i+1)%5=0)/每5个元素一行 8. System.out.println(); 9. 10. intmid;/定义一个中间变量,起到临时存储数据的作用 11. for(inti=0;iarray.length;i+)/执行冒泡排序法 12. for(intj=i;jarray.length;j+) 13. if(arrayjarrayi) 14. mid=arrayi; 15. arrayi=arrayj; 16. arrayj=mid; 17. 18. 19. 20. System.out.println(n使用冒泡法排序后的数组:); 21. for(inti=0;iarray.length;i+)/遍历排好序的array数组中的元素 22. System.out.print(+arrayi);/输出数组元素 23. if(i+1)%5=0) 24. System.out.println();/每5个元素一行 25. 26. 27. 数组递增排序1. importjava.util.Arrays; 2. importjava.util.Random; 3. 4. publicclassSortArray_02 5. publicstaticvoidmain(Stringargs) 6. Randomrd=newRandom(); 7. intarray=newint15;/声明数组 8. System.out.println(没有使用sort方法前的数组:); 9. for(inti=0;iarray.length;i+)/利用随机数随意产生15个020之间的随机数 10. arrayi=rd.nextInt(20);/给array数组赋值 11. System.out.print(+arrayi); 12. if(i+1)%5=0) 13. System.out.println(); 14. 15. Arrays.sort(array);/对array数组进行升序排序 16. System.out.println(n使用sort方法后的数组:); 17. for(inti=0;iarray.length;i+)/将array数组中的数据输出 18. System.out.print(+arrayi); 19. if(i+1)%5=0) 20. System.out.println(); 21. 22. 23. 部分数组递增排序1. importjava.util.Arrays; 2. importjava.util.Random; 3. 4. publicclassSortArray_03 5. publicstaticvoidmain(Stringargs) 6. Randomrd=newRandom(); 7. intarray=newint15;/声明数组 8. System.out.println(没有使用sort方法前的数组:); 9. for(inti=0;iarray.length;i+)/利用随机数随意产生15个020之间的随机数 10. arrayi=rd.nextInt(20);/给array数组赋值 11. System.out.print(+arrayi); 12. if(i+1)%5=0) 13. System.out.println(); 14. 15. Arrays.sort(array,5,14);/对array数组中的第5个元素第13个元素之间进行升序排序 16. System.out.println(n使用sort方法后的数组:); 17. for(inti=0;iarray.length;i+)/将array数组中的数据输出 18. System.out.print(+arrayi); 19. if(i+1)%5=0) 20. System.out.println(); 21. 22. 23. 选择排序法1. publicclassSortArray_04 2. publicstaticvoidmain(Stringargs) 3. intarray=14,5,86,4,12,3,51,13,11,2,32,6;/创建一个初始化的一维数组array 4. intkeyValue;/表示最小的元素值 5. intindex;/表示最小的元素值的下标 6. inttemp;/中间变量 7. System.out.println(未排序的数组:); 8. for(inti=0;iarray.length;i+)/遍历array数组中的元素 9. System.out.print(+arrayi);/输出数组元素 10. if(i+1)%5=0)/每5个元素一行 11. System.out.println(); 12. 13. for(inti=0;iarray.length;i+)/使用选择排序法的核心 14. index=i; 15. keyValue=arrayi; 16. for(intj=i;jarray.length;j+) 17. if(arrayjkeyValue) 18. index=j; 19. keyValue=arrayj; 20. 21. temp=arrayi; 22. arrayi=arrayindex; 23. arrayindex=temp; 24. 25. System.out.println(n使用选择排序法后的数组:); 26. for(inti=0;iarray.length;i+)/遍历排好序的array数组中的元素 27. System.out.print(+arrayi);/输出数组元素 28. if(i+1)%5=0) 29. System.out.println();/每5个元素一行 30. 31. 32. 快速排序法0. publicclassSortArray_05 1. publicstaticvoidmain(Stringargs) 2. intintArray=12,11,45,6,8,43,40,57,3,20,15; 3. System.out.println(排序前的数组:); 4. for(inti=0;iintArray.length;i+) 5. System.out.print(+intArrayi);/输出数组元素 6. if(i+1)%5=0)/每5个元素一行 7. System.out.println(); 8. 9. System.out.println(); 10. intb=quickSort(intArray,0,intArray.length-1);/调用quickSort 11. System.out.println(使用快迅排序法后的数组:); 12. for(inti=0;ib.length;i+) 13. System.out.print(+bi); 14. if(i+1)%5=0)/每5个元素一行 15. System.out.println(); 16. 17. 18. publicstaticintgetMiddle(intarray,intleft,intright) 19. inttemp; 20. /进行一趟快速排序,返回中心点位置 21. intmid=arrayleft;/把中心置于a0 22. while(leftright) 23. while(left=mid) 24. right-; 25. temp=arrayright;/将比中心点小的数据移动到左边 26. arrayright=arrayleft; 27. arrayleft=temp; 28. while(leftright&arrayleft=mid) 29. left+; 30. temp=arrayright;/将比中心点大的数据移动到右边 31. arrayright=arrayleft; 32. arrayleft=temp; 33. 34. arrayleft=mid;/中心移到正确位置 35. returnleft;/返回中心点 36. 37. publicstaticintquickSort(intarray,intleft,intright)/快速排序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论