这里写自定义目录标题
java中选择排序算法
以一个int数组为例
int[] arr = {12, 32, 5, 88, 99, 45};
选择排序说白了就是拿当前数组中的第一个元素和其他元素比较,
小的往前排,大的往后排,第一轮比较之后,拿第二个和剩下的其他元素比较,以此类推。
使用两个for循环就可以实现,外循环控制比较几轮,内循环控制比较的次数,外循环中剩下一个元素时,就不做比较,他就是最大值。
内循环中初始值 始终是第一个值和他后面的值比较,所以是 int j= i+1
public static void selectSort(int[] arr) {
if (arr == null || arr.length < 0) {
System.out.println(“当前数组无数据”);
}
for (int i = 0; i < arr.length-1; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
//定义临时变量,存储最大值
int temp = 0;
temp = arr[i];
//将大的数值和小的数值互换位置
arr[i] = arr[j];
//将最大值赋值给比较后的值
arr[j] = temp;
}
}
}
}