选择类排序 不稳定排序算法 时间复杂度O(n^2)至O(n^2) 平均时间复杂度O(n^2) 空间复杂度 O(1)
import java.util.Scanner;
public class Main {
public static void selectionSort(int arr[])
{
int minIndex=0;
int temp=0;
if((arr==null)||(arr.length==0))
return;
for(int i=0;i<arr.length;i++)
{
minIndex=i;//保存无序部分的最小数据数组下标
for(int j=i+1;j<arr.length;j++)
{
//在无序部分中找到最小数据并保存其数组下标
if(arr[j]<arr[minIndex])
{
minIndex=j;
}
}
//将最小元素放到本次循环的前端
temp=arr[i];
arr[i]=arr[minIndex];
arr[minIndex]=temp;
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int arr[] = new int[n];
for (int i=0;i<arr.length;i++)
arr[i]=sc.nextInt();
selectionSort(arr);
for (int i=0;i<arr.length;i++)
System.out.print(arr[i]+" ");
}
}