Java 中的字符串排序算法145


在 Java 中排序字符串是一个常见的任务,可以通过多种方法实现。本文将探讨常用的字符串排序算法,包括时间复杂度和代码示例,帮助您选择最适合您需求的算法。

冒泡排序

冒泡排序是一种简单且易于理解的算法。它通过重复比较相邻元素并交换它们的位置来对列表中的元素进行排序。

时间复杂度:O(n2)public static String[] bubbleSort(String[] arr) {
for (int i = 0; i < - 1; i++) {
for (int j = 0; j < - i - 1; j++) {
if (arr[j].compareTo(arr[j + 1]) > 0) {
String temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}

选择排序

选择排序是一种查找最小元素并将其与当前位置的元素交换的算法。它继续遍历列表,直到排序结束。

时间复杂度:O(n2)public static String[] selectionSort(String[] arr) {
for (int i = 0; i < - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < ; j++) {
if (arr[j].compareTo(arr[minIndex]) < 0) {
minIndex = j;
}
}
String temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
return arr;
}

插入排序

插入排序是一种遍历列表并逐个插入元素的算法。它从第二个元素开始,将每个元素插入到前面已排序部分的正确位置。

时间复杂度:O(n2)public static String[] insertionSort(String[] arr) {
for (int i = 1; i < ; i++) {
String key = arr[i];
int j = i - 1;
while (j >= 0 && (arr[j]) < 0) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
return arr;
}

快速排序

快速排序是一种分治算法。它选择一个枢纽元素,将列表划分为比枢纽小的元素和比枢纽大的元素。然后递归地对每个子列表应用相同的过程,直到列表被排序。

时间复杂度:O(n log n)public static String[] quickSort(String[] arr) {
if (

2024-10-14


上一篇:Java 数据类型:深入解析数组

下一篇:使用 Java 连接和查询数据库