思想:将最小值放入角标为0的元素内,将第二小的值放入角标为1的元素内,一次类推,得到一个从小到大排列的数组。
class Test
{
public static void main(String[] args)
{
int[] arr = {6,8,2,5,3,4,9,1};
printArray(arr);
selectSort(arr);
printArray(arr);
}
//选择排序
public static void selectSort(int[] arr)
{
//数组最后一个元素不用再排序
for(int i=0; i<arr.length-1; i++)
{
for(int j=i+1; j<arr.length; j++)
{
//如果第一个元素的值大于第二个元素的值,将交换两个的值
if(arr[i]>arr[j])
{
swap(arr,i,j);
}
}
}
}
//定义一个功能,实现交换数组内量个元素的功能
public static void swap(int[] arr,int i,int j){
int temp;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//定义一个功能,用来打印输出给定的数组元素
public static void printArray(int[] arr)
{
System.out.print("[");
for(int i=0;i<arr.length;i++)
{
if(i!=arr.length-1)
System.out.print(arr[i]+", ");
else
System.out.println(arr[i]+"]");
}
}
}