直接选择排序方法属于选择排序的一种,他的排序速度要比冒泡排序快一些,也是常用的排序算法
直接选择排序的基本思想是将指定排序位置和其他数组元素对比,如果满足条件就交换元素值。注意这里和冒泡排序的区别,不是交换相邻元素,而是把满足条件的元素与指定的排序位置交换(如从最后一个元素开始排序),这样排序好的位置逐渐扩大,最后整个数组都成为已排序好的格式
相关示例代码
package hello;
/**
* @Package: hello
* @ClassName: Directsort
* @Author: 乔文军
* @CreateTime: 2020/8/9 13:02
* @Description: 直接排序
*/
public class Directsort {
public static void main(String[] args) {
//创建一个数组,这个数组元素是乱序的
int []array = {64,4,24,1,3,15};
//创建直接排序类的对象
Directsort sorter = new Directsort();
//调用排序对象的方法将数组排序
sorter.sort(array);
}
private void sort(int[] array) {
int index;
for (int i = 1; i < array.length; i++){
index = 0;
for(int j = 1; j <= array.length-i;j++){
if (array[j] > array[index]){
index = j;
}
}
//交换在位置 array.length-1 和 index(最大值)上的两个数
int temp = array[array.length-i];
array[array.length-i] = array[index];
array[index] = temp;
}
showArray(array);
}
private void showArray(int[] array) {
for (int i:array
) {
System.out.print(">" + i);
}
System.out.println();
}
}