算法中心思想:假定数组中有n个数,我们将第一个数与它后面的每一个数对比,比它小,则交换位置。这样一趟下来,我们将最小的数放在数组的0位置。完成以后,我们将数组中的第二个数与它后面的每个数对比,比它小,依然交换。一趟下来,我们将第二小的数放在数组的1位置。依次下去,数组就会变得有序。接下来,我将画图演示。
画图演示:
java代码:
import java.util.Scanner;
//选择排序算法核心代码
public class SelectSort
{
public static void select(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])
{
int temp = 0;
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
public static void main(String[] args)
{
//自己决定创建几个数的数组,当然你也可以固定死。
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整数:");
int n = input.nextInt();
System.out.println("n = " + n);
int arr[] = new int[n];
for(int i = 0; i < n; i++)
{
arr[i] = input.nextInt();
}
//调用函数
select(arr);
//输出排序算法后的数组
for(int i = 0; i < n; i++)
{
System.out.println(arr[i]);
}
}
}