选择排序

本文深入讲解了选择排序算法的基本概念及实现过程。选择排序是一种直观的排序算法,通过每次从待排序序列中选取最小(或最大)元素并放置在序列起始位置,逐步完成排序。文章提供了详细的代码示例,帮助读者理解算法的具体操作。
/**
	 * 选择排序
	 * 选择排序(Selection sort)是一种简单直观的排序算法。
	 * 它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始(末尾)位置,直到全部待排序的数据元素排完。
	 * 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)。
	 */
	public static void selectOrder(){
		
		int[] arr = {2,3,1,4,3,5,1,6,1,2,3,7,2,3};
		
		//当前趟数最大值下标
		int index;
		
		//交换变量
		int temp;
		
		
		
		for (int i = 0; i < arr.length - 1; i++) {//控制循环的趟数
			
			
			index = 0;//新的趟数,将下标置为0
			
			//内层循环控制遍历数组的个数,并得到最大值的下标
			for (int j = 0; j < arr.length - i; j++) {
				if(arr[j] > arr[index]){
					index = j;
				}
				
				
			}
			
			
			//交换
			temp = arr[index];
			arr[index] = arr[arr.length -1 -i];
			arr[arr.length - 1 - i] = temp;
			
			
		}
		
		
		StringBuilder sb = new StringBuilder();
		
		for (int i = 0; i < arr.length; i++) {
			if(i != arr.length - 1 ){//最后一个元素
				sb.append(arr[i]).append(",");
			}else{
				sb.append(arr[i]);
			}
			
		}
		
		
		System.out.println(sb);
		
		
	}

 

参考链接:https://mp.weixin.qq.com/s/S0ITzTz2MVteF8iLdUutGQ

转载于:https://my.oschina.net/qimhkaiyuan/blog/1924699

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值