算法描述
首先看一下搜狗百科的介绍
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法…巴拉巴拉一堆术语,咱也听着费劲。
说白了,首先把第一个元素当成最小的,然后依次和后面的数组元素比较,如果找到一个比第一个元素还小的元素,就交换两个元素,直到数组末尾,没循环一次就找出来一个最小的元素放在前面
图片描述
代码展示
import java.util.Arrays;
import java.util.Scanner;
public class 选择排序 {
public static void main(String[] args) {
int [] array = new int [10];//定义一个长度为10的数组
Scanner scanner = new Scanner(System.in);//定义scanner类
System.out.println("请输入十个数字");//输入提示
//循环遍历给数组元素赋值
for (int i = 0; i < array.length; i++)
{
array[i] = scanner.nextInt();
}
selection_sort(array);
System.out.println(Arrays.toString(array));
}
//选择排序算法
public static void selection_sort(int []array) {
int t;//防止交换数据丢失的变量
for (int i = 0; i < array.length-1; i++)
{
for (int j = i + 1; j < array.length; j++)
{
if (array[i]>array[j])
{
t =array[i];
array[i] = array[j];
array[j] = t;
}
}
}
}
}
口诀
在这里也分享一个口诀吧,自己编的,
-----------------------外层循环n-1,内层循环只有n