数组的基本算法
6.1冒泡排序
private static void bubbleSort(int[] arr) {
// 外循环: 控制比较的轮数
for (int i = 0; i < arr.length - 1; i++) {
// 内循环: 控制比较的次数
// -1避免索引越界, -i提高效率
for (int j = 0; j < arr.length - 1 - i; j++) {
// j = 0 1
// j = 1 2
// j = 2 3
// j = 3 4
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
6.2选择排序
public static void selectSort(int[] arr) {
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 = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
6.3基本查找
6.4二分查找(折半查找)
public static int binarySearch(int num, int[] arr) {
int min = 0;
int max = arr.length - 1;
while (min <= max) {
// 计算中间索引
int mid = (min + max) / 2;
// 比对
if (num > arr[mid]) {
min = mid + 1;
} else if (num < arr[mid]) {
max = mid - 1;
} else {
return mid;
}
}
return -1;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix