十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
从数组中第一个数字开始,数组中每个数字都要和后面所有数字比一次大小,每每次循环遍历当前最小值,放在当前循环范围内的最小位置。当完成第N - 1
次循环之后,排序完成。N = 数组长度 - 1
。
假设对数组 arr =[1, 4, 7, 3, 5, 8, 9, 2, 10, 6]
排序,数组长度为 arr.length,i 为数组下标。
public class 选择排序 {public static void main(String[] args) {int[] arr = {1, 4, 7, 3, 5, 8, 9, 2, 10, 6};
// 排序前
printArr(arr);
// 排序
selectSort(arr);
// 排序后
printArr(arr);
}
private static void printArr(int[] arr) {for (int i = 0; i< arr.length; i++) {System.out.print(arr[i] + " ");
}
System.out.println();
}
public static void selectSort(int[] arr) {// 0~ N-1
// 1~ N-1
// N-2 ~ N-1
for (int i = 0; i< arr.length; i++) {int minValIndex = i;
for (int j = i + 1; j< arr.length; j++) {minValIndex = arr[j]< arr[minValIndex] ? j : minValIndex;
}
if (minValIndex != i) {swap(arr, i, minValIndex);
}
}
}
private static void swap(int[] arr, int i, int j) {int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧