关于算法-数据结构:算法与数据结构2排序算法

抉择排序

public static void selectionSort(int[] arr) {
 if (arr == null || arr.length < 2) {
 return;
 }
 // 0 ~ N-1
 // 1~n-1 // 2 for (int i = 0; i < arr.length - 1; i++) { // i ~ N-1
 // 最小值在哪个地位上 i~n-1
 int minIndex = i;
 for (int j = i + 1; j < arr.length; j++) { // i ~ N-1 上找最小值的下标 
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
 }
 swap(arr, i, minIndex);
 }
}
public static void swap(int[] arr, int i, int j) {
 int tmp = arr[i];
 arr[i] = arr[j];
 arr[j] = tmp;
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理