选择排序我认为是最简单的一种排序,简单明了。选择排序主要是由两个for循环来实现的,外层循环保证数组中每个元素都参与比较,当然最后一个元素不参与比较(只剩一个元素时无需排序),内层循环保证外层循环选出来的元素能够和它之后的所有元素进行比较。
代码如下:
import java.util.Arrays;
public class selectSort {//选择排序,是将一个数据 挨个 与其他元素比较,如果符合if语句条件,则更换比较的数据
public static void main(String[] args) {
int[] num = {5,28,62,15,48,22,23};
SelectSort(num);
System.out.println(Arrays.toString(num));//将数组转化为字符串输出,这样就不用写一个循环语句来输出了
}
public static void SelectSort(int[] num){
for (int i = 0; i < num.length-1; i++) {
for (int j = i+1; j < num.length; j++) {
if(num[i]>=num[j]){
int temp = num[i];//这里最好把temp定义在for循环中,这样变量temp在for循环结束时会被清除掉,可以少占用些内存
num[i] = num[j];
num[j] = temp ;
}
}
}
}
}
我的代码非常的暴力,但是容易理解。不必确定一个最小值,默认就是第一个元素开始比较。
运行结果
结果如下:
[5, 15, 22, 23, 28, 48, 62]