版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/83779529
选择排序
选择排序对冒泡排序进行了改进,使交换次数减少,但比较次数仍然没有减少。先从左端开始,找到下标为0 的元素,然后和后面的元素依次比较,如果找到了比下标0小的元素,那么再使用此元素,再接着依次比较,直到比完成所有的元素,最后把最小的和第0个位置交换。
扫描了所有数据,最后选择出了最小的数据,这也是为什么叫选择排序的原因
第二遍排序将从下表为 1 的元素开始,依此类推,经过 N(N-1)/2 次比较,经过N此数据交互就实现了数据排序。
public class SelectSort{
public static void main(String[] args){
int[] arr = { 3,1,6,2,5};
for(int j = 0 ; j < arr.length - 1 ; j++){//控制循环的遍数
int minIndex = j;
for(int i = j ; i < arr.length; i++){//控制比较的次数
if(arr[minIndex] > arr[i]){
minIndex = i;
}
}
int temp = arr[j];
arr[j] = arr[minIndex];
arr[minIndex] = temp;
}
for(int i = 0 ; i < arr.length;i++){
System.out.println(arr[i]);
}
}