Java中怎么实现冒泡排序法和选择排序法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
专注于为中小企业提供网站设计、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业彭泽免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
冒泡排序法
概念:
从前向后(或从后向前)依次比较相邻的元素,若发现逆顺序,则交换。小的向前换,大的向后换,像水底的气泡逐渐向上冒,顾名思义冒泡排序法。
通俗一点就是把大的往上挪!向冒泡一样。
是交换式排序法的一种。冒泡排序法效率较低。
冒泡排序法思路
1:外层循环:控制它要走几次。 假设你有5个数,那就要走4次,最后一次不用走,最后那个数已经在它位置了所以就要length-1次。 2:内层循环:控制逐一比较,如果发现前一个数比后一个数大,则交换。 注意!因为越比较长度就越小了,所以长度要length-1-i。
package com.test_1;public class Demo5_3 { public static void main(String[] args) { // TODO Auto-generated method stub int arr [ ] ={1,6,0,-1,9}; int temp=0;//中间值 //-------冒泡排序法 //外层循环,它决定一共走几趟 for(int i = 0;i 选择排序法 概念:第一次从R[0]~R[n-1]中选取最小值,与R[0]交换。第二次从R[1]~R[n-1]中选取最小值与R[1]交换。。。以此类推。 通俗点说就是每次找到后面元素的最小值然后与之交换。选择排序法效率中。 选择排序思路1:外层循环:要走几趟,同样是length-1。 2:设置一个最小值。假设第一个就是最小值。 3:设置一个最小值下标 4:内层循环:那你当前的最小值去逐一比较。当有比当前最小值小的数时,记录最小值,记录下标。 5:退出内层循环后就交换位置。 package com.test_1;public class Demo5_3 { public static void main(String[] args) { //简单测试数组 int arr [ ] ={1,6,0,-1,9,1000,-1000,98,-687}; //调用选择排序法 Select select = new Select(); select.sort(arr); }}//--------------选择排序法class Select{ public void sort(int arr[]){ //中间值 int temp = 0; //外循环:我认为最小的数,从0~长度-1 for(int j = 0; j 最后再比较一下两个排序法之间的效率差异:代码 package com.test_1;import java.util.Calendar;public class Demo5_3 { public static void main(String[] args) { //构建一个庞大的无序数组用于测试时间 int len=100000; int arr1 [] = new int [len]; for(int i=0;i 看完上述内容,你们掌握Java中怎么实现冒泡排序法和选择排序法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
网站名称:Java中怎么实现冒泡排序法和选择排序法
URL标题:http://cdkjz.cn/article/ppsgeg.html