21xrx.com
2024-12-23 01:18:49 Monday
登录
文章检索 我的文章 写文章
Java 排序算法代码实现
2023-06-15 18:13:30 深夜i     --     --
Java

在计算机科学中,排序算法是一种重要的基础知识。在 Java 编程中,排序算法是非常重要的一部分。本文将介绍几种 Java 排序算法的代码实现。

一、冒泡排序

冒泡排序是一种基础而简单的排序算法。其基本思想是从序列的起始位置开始,依次比较相邻两个元素大小,若前者比后者大,则交换位置,直到序列末尾(或元素全部有序)。

代码实现:

public static void bubbleSort(int[] arr) {

  if (arr == null || arr.length < 2)

    return;

  for (int i = arr.length - 1; i > 0; i--) {

    for (int j = 0; j < i; j++) {

      if (arr[j] > arr[j + 1]) {

        swap(arr, j, j + 1);

      }

    }

  }

}

二、选择排序

选择排序也是一种基础算法。其基本思想是从序列的起始位置开始,遍历整个序列,找到最小值的位置,并和序列的起始位置交换。然后,在剩余的序列中找到最小值的位置,并和序列的起始位置后面的元素交换。依次处理,直到序列末尾。

代码实现:

public static void selectionSort(int[] arr) {

  if (arr == null || arr.length < 2)

    return;

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

    int minIndex = i;

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

      minIndex = arr[j] < arr[minIndex] ? j : minIndex;

    }

    swap(arr, i, minIndex);

  }

}

三、插入排序

插入排序算法的思想是将待排序序列分为有序区和无序区,然后依次将无序区的元素插入到有序区的合适位置中。具体过程是,遍历无序区,取出一个元素,将其插入到有序区的合适位置中,使得插入后仍然保持有序。

代码实现:

public static void insertionSort(int[] arr) {

  if (arr == null || arr.length < 2)

    return;

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

    int j = i;

    while (j > 0 && arr[j - 1] > arr[j]) {

      swap(arr, j - 1, j);

      j--;

    }

  }

}

本文介绍了三种基础排序算法的 Java 代码实现,分别是冒泡排序、选择排序和插入排序。任何一个 Java 开发者都应该掌握这些算法的基本思想和代码实现。

排序算法, 冒泡排序, 选择排序, 插入排序

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复