选择排序算法学习使用代码如下
import untils.AlgorithmUtils;
import java.util.Arrays;
public class Selection {
public static int[] studySelectionSort(int[] arr) {
System.out.println("数组长度为: " + arr.length);
System.out.println("传入的原数组为: " + Arrays.toString(arr));
int len = arr.length;
for (int i = 0; i < len; i++) {
System.out.println("第" + (i + 1) + "轮排序开始 ");
int low = i;
for (int j = i + 1; j < len; j++) {
if (arr[low] > arr[j]) {
low = j;
}
}
AlgorithmUtils.swap(arr, low, i);
System.out.println("本轮最小的元素是 " + arr[i]);
System.out.println("" + Arrays.toString(arr));
System.out.println("第" + (i + 1) + "轮排序结束 ");
}
return arr;
}
}
package untils;
public class AlgorithmUtils {
public static void swap(int[] arr, int a, int b) {
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
选择排序算法作为工具类使用代码如下
public class Selection {
public static int[] selectionSort(int[] arr) {
int len = arr.length;
for (int i = 0; i < len; i++) {
int low = i;
for (int j = i + 1; j < len; j++) {
if (arr[low] > arr[j]) {
low = j;
}
}
AlgorithmUtils.swap(arr, low, i);
}
return arr;
}
}