选择排序算法的原理:每次找出最小的一个数放到数组的最左边,然后从剩余的数组中继续找出最小的数放到剩余数组的最左边
package com.sort;
public class SelectionSort {
/**
*
* @param arr
* @return 返回排序之后的数组
*/
public int[] selectionSort(int[] arr){
int a=0;
for (int i = 0; i <arr.length; i++) {
int index=findMin(i,arr);
a=arr[i];
arr[i]=arr[index];
arr[index]=a;
}
return arr;
}
/**
*
* @param start 剩余部分数组 开始部分
* @param arr 数组
* @return 返回最小值的下标
*/
public int findMin(int start ,int arr[]){
int index=0;
int min=99999999;
for (int i = start; i < arr.length; i++) {
if(min>arr[i]){
min=arr[i];
index=i;
}
}
return index;
}
/**
*测试主函数
*
*/
public static void main(String[] args) {
int[] arr = new int[]{4,1,2,8,7,9,5,4,3,5};
arr=new SelectionSort().selectionSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
}