Java是一門十分常用的編程語言,作為程序員,我們需要熟悉Java中的排序和查找算法。下面將介紹Java中常用的排序算法和查找算法。
排序算法
//冒泡排序(Bubble Sort) public static void bubbleSort(int[] arr) { for (int i = 0; i< arr.length; i++) { for (int j = 0; j< arr.length - i - 1; j++) { if (arr[j] >arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } //選擇排序(Selection Sort) public static void selectionSort(int[] arr) { for (int i = 0; i< arr.length - 1; i++) { int minIndex = i; for (int j = i + 1; j< arr.length; j++) { if (arr[j]< arr[minIndex]) { minIndex = j; } } int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } //插入排序(Insertion Sort) public static void insertionSort(int[] arr) { for (int i = 1; i< arr.length; i++) { int j = i; while (j >0 && arr[j]< arr[j-1]) { int temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; j--; } } }
查找算法
//線性查找(Linear Search) public static boolean linearSearch(int[] arr, int target) { for (int i = 0; i< arr.length; i++) { if (arr[i] == target) { return true; } } return false; } //二分查找(Binary Search) public static int binarySearch(int[] arr, int target) { int left = 0; int right = arr.length - 1; while (left<= right) { int mid = left + (right - left) / 2; if (arr[mid] == target) { return mid; } else if (arr[mid]< target) { left = mid + 1; } else { right = mid - 1; } } return -1; }
以上是Java中常用的排序算法和查找算法,掌握這些算法可以提高我們的程序效率。