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 连接和查询数据库
Python字符串查找与判断:从基础到高级的全方位指南
https://www.shuihudhg.cn/134118.html
C语言如何高效输出字符串“inc“?深度解析printf、puts及格式化输出
https://www.shuihudhg.cn/134117.html
PHP高效获取CSV文件行数:从小型文件到海量数据的最佳实践与性能优化
https://www.shuihudhg.cn/134116.html
C语言控制台图形输出:从入门到精通的ASCII艺术实践
https://www.shuihudhg.cn/134115.html
Python在Linux环境下的执行与自动化:从基础到高级实践
https://www.shuihudhg.cn/134114.html
热门文章
Java中数组赋值的全面指南
https://www.shuihudhg.cn/207.html
JavaScript 与 Java:二者有何异同?
https://www.shuihudhg.cn/6764.html
判断 Java 字符串中是否包含特定子字符串
https://www.shuihudhg.cn/3551.html
Java 字符串的切割:分而治之
https://www.shuihudhg.cn/6220.html
Java 输入代码:全面指南
https://www.shuihudhg.cn/1064.html