使用Java怎么实现一个冒泡排序法和选择排序法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
10余年的尼勒克网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整尼勒克建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“尼勒克网站设计”,“尼勒克网站推广”以来,每个客户项目都认真落实执行。
冒泡排序法
概念:
从前向后(或从后向前)依次比较相邻的元素,若发现逆顺序,则交换。小的向前换,大的向后换,像水底的气泡逐渐向上冒,顾名思义冒泡排序法。
通俗一点就是把大的往上挪!向冒泡一样。
是交换式排序法的一种。冒泡排序法效率较低。

冒泡排序法思路
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;iarr[j+1]) {
//换位
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
//输出结果
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; jarr[k]) {
//修改最小
min=arr[k];
minIndex=k;
}
}
//当退出内层循环就找到这次的最小值
//交换位置
temp = arr[j];
arr[j]=arr[minIndex];
arr[minIndex]=temp;
}
//输出结果
for(int i = 0;i最后再比较一下两个排序法之间的效率差异:
代码
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;iarr[j+1]) {
//换位
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
/*//输出结果
for(int i = 0;iarr[k])
{
//修改最小
min=arr[k];
minIndex=k;
}
}
//当退出内层循环就找到这次的最小值
//交换位置
temp = arr[j];
arr[j]=arr[minIndex];
arr[minIndex]=temp;
}
/*//输出结果
for(int i = 0;i运行结果:

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
分享标题:使用Java怎么实现一个冒泡排序法和选择排序法
文章分享:http://cdysf.com/article/jgchog.html