JAVA基础(26)---选择排序

版权声明:如需转载请标明出处 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]);
		}
	
	
}

猜你喜欢

转载自blog.csdn.net/yj201711/article/details/83779529