选择排序(Selection Sort)是一种简单直观的排序算法。首先在未排序序列中找到最小元素,存放在排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
算法描述:
1,从待排序序列中,找到最小的元素;起始假定第一个元素为最小。
2,如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换。
3,从余下的元素中,找出最小的元素,重复1,2步,直至排序结束。
动图演示:

代码实现:
public class Sort{ public static void swap(int[] arr,int i,int j){ int temp=arr[i]; arr[i]=arr[j]; arr[j]=temp; } public static void printArr(int[] arr){ for(int i:arr){ System.out.print(i+" "); } } public static void selectionSort(int[] arr){ if(arr==null){ return; } int min; for(int i=0;i<arr.length;i++){ min=i; for(int j=i+1;j<arr.length;j++){ if(arr[min]>arr[j]){ min=j; } } swap(arr,i,min); } } public static void main(String[] args){ int[] arr=new int[]{3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; selectionSort(arr); printArr(arr); } }
posted on
浙公网安备 33010602011771号