java排序的几种方法_java三大特性

java排序的几种方法_java三大特性在 Java 中 对数据进行排序可以通过多种方法实现 以下是一些常用的排序方法 使用 Arrays sort 方法 javaint array 4 2 8 1 6 Arrays sort array 使用 Collections sort 方法 javaList list new ArrayListlis add 4 list add 2

在Java中,对数据进行排序可以通过多种方法实现,以下是一些常用的排序方法:

使用`Arrays.sort()`方法

java

int[] array = {4, 2, 8, 1, 6};

Arrays.sort(array);

使用`Collections.sort()`方法

java

List list = new ArrayList<>();

list.add(4);

list.add(2);

list.add(8);

list.add(1);

list.add(6);

Collections.sort(list);

自定义`Comparator`对象

java

List list = new ArrayList<>();

list.add("apple");

list.add("banana");

list.add("cherry");

list.sort(Comparator.naturalOrder());

常用排序算法

快速排序

java

public static Integer[] sort(Integer[] nums, int low, int high) {

if (low < high) {

int pi = partition(nums, low, high);

sort(nums, low, pi - 1);

sort(nums, pi + 1, high);

}

return nums;

}

冒泡排序

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;

}

}

}

}

选择排序

java

public static void selectionSort(int[] arr) {

int n = arr.length;

for (int i = 0; i < n - 1; i++) {

int min_idx = i;

for (int j = i + 1; j < n; j++)

if (arr[j] < arr[min_idx])

min_idx = j;

int temp = arr[min_idx];

arr[min_idx] = arr[i];

arr[i] = temp;

}

}

插入排序

java

public static void insertionSort(int[] arr) {

int n = arr.length;

for (int i = 1; i < n; ++i) {

int key = arr[i];

int j = i - 1;

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

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

j = j - 1;

}

arr[j + 1] = key;

}

}

希尔排序

java

public static void shellSort(int[] arr) {

int n = arr.length;

for (int gap = n / 2; gap > 0; gap /= 2) {

for (int i = gap; i < n; i++) {

int temp = arr[i];

int j;

for (j = i; j >= gap && arr[j - gap] > temp; j -= gap)

arr[j] = arr[j - gap];

arr[j] = temp;

}

}

}

归并排序

编程小号
上一篇 2026-04-07 16:51
下一篇 2026-04-07 16:43

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/61275.html