21xrx.com
2024-12-22 23:21:51 Sunday
登录
文章检索 我的文章 写文章
Java中常用的排序算法:代码案例与解析
2023-06-14 23:22:41 深夜i     --     --
Java排序算法 冒泡排序 插入排序 快速排序

排序算法是计算机科学和编程中的一项基本任务,是许多实际问题的基础。在Java中,有多种常用的排序算法。本文将介绍几种常见的排序算法,并提供相应的代码案例。

1. 冒泡排序

冒泡排序算法是一种简单的排序算法,其基本思路是将待排序序列按照从左往右的顺序不断比较相邻的两个元素,将较大的元素向右交换,直到将整个序列排好序。以下是Java实现冒泡排序的代码:


public static void bubbleSort(int[] arr) {

  int len = arr.length;

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

    for (int j = 0; j < len - 1 - i; 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 insertionSort(int[] arr) {

  int len = arr.length;

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

    int current = arr[i];

    int j = i - 1;

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

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

      j--;

    }

    arr[j + 1] = current;

  }

}

3. 快速排序

快速排序算法是一种高效的排序算法,其基本思路是选择一个基准元素,将待排序序列分为左右两部分,左部分的元素均小于基准元素,右部分的元素均大于基准元素,递归地对左右两部分进行排序,直到将整个序列排好序。以下是Java实现快速排序的代码:


public static void quickSort(int[] arr, int left, int right) {

  if (left >= right)

    return;

  

  int pivot = arr[left];

  int i = left;

  int j = right;

  while (i < j) {

    while (i < j && arr[j] >= pivot)

      j--;

    

    arr[i] = arr[j];

    while (i < j && arr[i] <= pivot) {

      i++;

    }

    arr[j] = arr[i];

  }

  arr[i] = pivot;

  quickSort(arr, left, i - 1);

  quickSort(arr, i + 1, right);

}

以上是Java中常用的几种排序算法的代码案例,它们分别是冒泡排序、插入排序和快速排序。这些排序算法在实际开发中都有着广泛的应用。我们可以根据具体的需求选择适合的排序算法。只要理解了它们的基本原理,就能够写出高效的排序代码。

  
  

评论区

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