黑马程序员技术交流社区
标题:
选择排序法改进
[打印本页]
作者:
开弓没有回头箭
时间:
2015-6-9 12:00
标题:
选择排序法改进
public static void selectSort(int[] arr)
{
int min=0;
for (int x=0; x<arr.length-1 ; x++)
{
min =x;//min存储遍历中最小值得坐标
for(int y=x+1; y<arr.length; y++)
{
if(arr[min]>arr[y])//遍历中遇到比角标min中的数更小的,min指向该角标
{
min=y;
}
}
if(min!=x)//min中值改变了,则将角标min中值与角标x值交换
{
int temp = arr[x];
arr[x] = arr[min];
arr[min]= temp;
}
}
}
该方法在遍历查找最小值是不会进行交换,只有当找到最小值后,才产生交换,减少了交换次数,从而得到优化
作者:
RockLee
时间:
2015-6-9 13:49
总结的很好:)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2