package com.test;
import java.util.Arrays;
public class SelectSort {
//选择排序原理即是:
//遍历元素找到一个最小(或最大)的元素,把它放在第一个位置;
//然后再在剩余元素中找到最小(或最大)的元素,把它放在第二个位置;
//依次下去,完成排序.
public static void main(String[] args) {
//由小到大
int[] arr={72, 7, 65, 72, 91, 91, 91, 89, 65, 58, 87, 91, 53, 82, 71, 93, 76, 68};
select_sort_small_to_big(arr);
System.out.println(Arrays.toString(arr));
//由大到小
arr = new int[]{72, 7, 65, 72, 91, 91, 91, 89, 65, 58, 87, 91, 53, 82, 71, 93, 76, 68};
select_sort_big_to_small(arr);
System.out.println(Arrays.toString(arr));
}
public static int[] select_sort_small_to_big(int arr[]) {
for(int i = 0; i < arr.length - 1; i++) {
int min = arr[i];
int min_pos = i;
for(int j = i + 1; j < arr.length; j++) {
if(arr[j] < min) {
min = arr[j];
min_pos = j;
}
}
if(min_pos != i) {
arr[min_pos] = arr[i];
arr[i] = min;
}
}
return arr;
}
public static int[] select_sort_big_to_small(int[] arr) {
for(int i = 0; i < arr.length - 1; i++) {
int max = arr[i];
int max_pos = i;
for(int j = i + 1; j < arr.length; j++) {
if(arr[j] > max) {
max = arr[j];
max_pos = j;
}
}
if(max_pos != i) {
arr[max_pos] = arr[i];
arr[i] = max;
}
}
return arr;
}
}
Java - 选择排序 ( 从大到小 + 从小到大 )
最新推荐文章于 2024-08-01 15:05:06 发布