JAVA常用基本算法
JAVA作为一种常用的编程语言,提供了很多常用的基本算法,用于解决各种问题。下面我将介绍一些常用的基本算法并给出示例代码。
1.排序算法
排序算法是最常用的算法之一,用于将一组数据按照其中一种规则进行排序。JAVA中常用的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等。
冒泡排序:
```
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])
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
```
快速排序:
```
public static void quickSort(int[] arr, int low, int high)
if (low < high)
int pivot = partition(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
public static int partition(int[] arr, int low, int high)
int pivot = arr[high];
int i = low - 1;
for (int j = low; j < high; j++)
if (arr[j] < pivot)
i++;
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
int temp = arr[i + 1];
arr[i + 1] = arr[high];
arr[high] = temp;
return i + 1;
```
2.查算法
查算法用于在一组数据中寻特定的值或位置。JAVA中常用的查算法有线性查、二分查等。
线性查:
```
public static int linearSearch(int[] arr, int key)
int n = arr.length;
for (int i = 0; i < n; i++)
if (arr[i] == key) return i;
}
return -1;
```
二分查:
```
public static int binarySearch(int[] arr, int key)
int low = 0, high = arr.length - 1;
while (low <= high)
int mid = low + (high - low) / 2;
if (arr[mid] == key) return mid;
else if (arr[mid] < key) low = mid + 1;
else high = mid - 1;
}
return -1;
```
3.字符串匹配算法
字符串匹配算法用于在一个字符串中查另一个字符串。JAVA中常用的字符串匹配算法有暴力匹配、KMP算法等。
暴力匹配:
```
public static int bruteForce(String text, String pattern)冒泡排序java代码详解
int n = text.length(;
int m = pattern.length(;
for (int i = 0; i <= n - m; i++)
int j;
for (j = 0; j < m; j++)
if (text.charAt(i + j) != pattern.charAt(j)) break;
}
if (j == m) return i;
}
return -1;
```
KMP算法:
```
public static int KMP(String text, String pattern)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论