选择排序
package com.qianfeng.day06;
public class Test {
public static void main(String[] args) {
int[] arr = new int[] {1,5,3,7,2,9};
int temp; //替换数组种数的时候需要
int index; //储存循环变量的值
int min; //储存一次循环的最小值
for (int i = 0; i < arr.length-1; i++) {
min = arr[i];
index = i;
//筛选出最小值保存下标
for (int j = i+1; j < arr.length; j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
//将最小的那个数进行替换
temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
//输出
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
算法思想
想要一个从小到大的数列,那么第一个数一定是最小的运用这个原理
第一次循环,找出数组中最小的那个数,然后去替换数组第一个数
第二次循环,找出数组中第二小的那个数,然后去替换数组第二个数
依次循环,
循环数组长度-1次,就可得出最终排序好的数列。