从零开始学习 Java:简单易懂的入门指南之查找算法及排序算法
// 二分查找算法
public class BinarySearch {
public static int binarySearch(int[] arr, int x) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == x)
return mid;
if (arr[mid] > x)
right = mid - 1;
else
left = mid + 1;
}
return -1;
}
public static void main(String[] args) {
int[] arr = {2, 3, 4, 10, 40, 100};
int x = 100;
int index = binarySearch(arr, x);
if (index != -1)
System.out.println("元素在数组中的索引为: " + index);
else
System.out.println("元素不在数组中");
}
}
// 冒泡排序算法
public class BubbleSort {
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j+1] 和 arr[j]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println("排序后的数组:");
for (int val : arr)
System.out.print(val + " ");
}
}
这段代码展示了二分查找算法和冒泡排序算法的实现。二分查找算法用于在有序数组中查找特定元素的索引,冒泡排序算法用于对数组进行升序排序。这两个算法都是计算机科学中基础的算法知识,对于学习数据结构和算法有重要的意义。
评论已关闭