跳动探索网

java实现四种常用排序算法_java排序 😎

导读 在编程的世界里,排序算法是不可或缺的一部分。掌握这些基本算法不仅能提升代码效率,还能增强解决问题的能力。今天,我们将用Java语言来实

在编程的世界里,排序算法是不可或缺的一部分。掌握这些基本算法不仅能提升代码效率,还能增强解决问题的能力。今天,我们将用Java语言来实现四种常用的排序算法,并通过一些示例代码来加深理解。🚀

1️⃣ 冒泡排序 - 这是最基础的排序算法之一,通过重复地交换相邻的两个错误顺序的元素来完成排序。尽管简单,但效率较低,适用于小数据集。💡

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

}

}

}

}

```

2️⃣ 选择排序 - 它的工作原理是从未排序序列中挑选最小(或最大)的元素,存放到排序序列的起始位置。同样简单,但在大数据量时性能较差。🔎

```java

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;

}

}

}

```

3️⃣ 插入排序 - 类似于打牌时整理手牌的方式,将新来的牌插入到已排好序的序列中。适用于部分已排序的数据。🔍

```java

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;

}

}

```

4️⃣ 快速排序 - 这是一种分而治之的策略,选择一个基准值,将数组分为两部分,一部分小于基准值,另一部分大于基准值,然后递归处理这两部分。这是一种非常高效的排序方法。⚡

```java

public static void quickSort(int[] arr, int low, int high) {

if (low < high) {

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

quickSort(arr, low, pi - 1);

quickSort(arr, pi + 1, high);

}

}

```

通过上述示例,我们可以看到每种排序算法都有其特点和适用场景。希望这些基础知识能够帮助你在实际项目中做出合适的选择!🛠️