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

本文深入解析了选择排序算法的实现原理及过程,通过示例代码详细展示了如何通过选择排序对数组进行排序,包括寻找最小元素并将其置于正确位置的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

选择排序

选择排序对冒泡排序进行了改进,使交换次数减少,但比较次数仍然没有减少。先从左端开始,找到下标为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]);
		}
	
	
}

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值