Java常见算法
2020-12-13 13:42
标签:rtc 元素 ++ void stat 位置 变更 int 原理 代码 原理说明:0索引和后续的索引比较、1索引和后续的索引比较......首次循环,可以得出 最小值 或 最大值。 代码 原理说明:相邻的两个元素比较,位置互换。首次循环,可以得出 最小值 或 最大值。 代码 说明:使用:二分/折半 查找某个元素,若存在-则返回元素在数组里面的索引;若不存在-则返回-1。 Java常见算法 标签:rtc 元素 ++ void stat 位置 变更 int 原理 原文地址:https://www.cnblogs.com/io1024/p/11532676.html选择排序
//对数组进行 '升序' 排列
private static void sortChoose(int[] arr) {
for (int x = 0; x arr[y]) { //控制 升序 or 降序
//临时获取:两个数中的最大值
int temp = arr[x];
arr[x] = arr[y];
arr[y] = temp;
}
}
}
}
}
冒泡排序
//对数组进行 '升序' 排列
private static void sortBubble(int[] arr) {
for (int x = 0; x arr[y + 1]) { //控制 升序 or 降序
//临时获取:两个数中的最大值
int temp = arr[y];
arr[y] = arr[y + 1];
arr[y + 1] = temp;
}
}
}
}
二分/折半 查找
//参数arr:有序数组; 参数key:需要查找的元素
private static int binarySearch(int[] arr, int key) {
int index = -1;
//定义三个变量,保存数组的最小、中间、最大的索引
int min = 0, mid = 0, max = arr.length - 1;
//循环的条件:小索引 key) {
max = mid - 1;
} else {
index = mid;
break;
}
}
return index;
}
特别注意:若需要查找的数组是无序的,切记:不可使用二分/折半查找,更不要数组进行排序(排序会导致数组元素的索引变更)!