搜索
写经验 领红包
 > 时尚

java常见的排序方法(java排序总结)

在生活中,很多人可能想了解和弄清楚Java中这几种常见的排序方式你知道吗?快来看看吧!的相关问题?那么关于java常见的排序方法的答案我来给大家详细解答下。

java常见的排序方法(java排序总结)

冒泡排序

public static void bubbleSort(int[] arr) {

for (int i = 0; i < arr.length - 1; 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;

}

}

}

}

选择排序

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;

}

}

if (minIndex != i) {

int temp = arr[i];

arr[i] = arr[minIndex];

arr[minIndex] = temp;

}

}

}

插入排序

public static void insertionSort(int[] arr) {

for (int i = 1; i < arr.length; i++) {

int key = arr[i];

int j = i - 1;

while (j >= 0 && arr[j] > key) {

arr[j + 1] = arr[j];

j--;

}

arr[j + 1] = key;

}

}

快速排序

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);

}

}

private 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;

}

这四种方法是Java中常用的排序方法,他们在不同的情况下的时间复杂度和空间复杂度也不同,您可以根据不同的情况选择最适合的排序方法。在编写代码时,需要根据实际情况考虑时间复杂度和空间复杂度,并在保证代码可读性的前提下优化代码。此外,对于大型数据集,使用多线程排序算法或使用Java集合框架中的排序算法,也可以提高排序效率。

温馨提示:通过以上关于Java中这几种常见的排序方式你知道吗?快来看看吧!内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。