Java 选择排序(直接排序)【小案例详解】

版权声明:本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/weixin_43802738/article/details/86495390
概念:

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。

思路:

使用一个元素与其他的元素挨个比较一次,符合条件交换位置
在这里插入图片描述

代码实现:
public class test {
	public static void main(String[] args) {
		int arr[]= {21,3,43,5,7,1};		//定义数组
		//遍历排序前的数组
		System.out.print("排序前数组元素为:");
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]);
			if(i<arr.length-1) {	//除最后一个元素外,依次添加“,”进行分割
				System.out.print(",");
			}
		}
		System.out.println();	//换行
		selectSort(arr);	//调用selectSort()方法,并将实参arr数组传进去
	}
	public static void selectSort(int[] arr) {
		
		for(int j=0;j<arr.length;j++) {		//控制轮数
			for(int i=0;i<arr.length-1;i++) {	//每循环一次找出一个最值
				//比较元素大小,此为从大到小排序,若想从小到大进行排序,只需改为 arr[i]>arr[j] 即可
				if(arr[i]<arr[j]) {	
					//交换位置
					int temp=arr[i];
					arr[i]=arr[j];
					arr[j]=temp;
				}
			}
		}
		//遍历排序后的数组,查看效果
		System.out.print("排序后数组元素为:");
		for(int i=0;i<arr.length;i++) {
			System.out.print(arr[i]);
			if(i<arr.length-1) {	//除最后一个元素外,依次添加“,”进行分割
				System.out.print(",");
			}
		}
	}
}

效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43802738/article/details/86495390