21xrx.com
2024-12-23 00:44:28 Monday
登录
文章检索 我的文章 写文章
Java中的排序算法及代码实现
2023-06-15 13:24:07 深夜i     --     --
Java 排序 算法

在计算机科学领域中,排序是最常见的问题之一。Java作为一种优秀的编程语言,在排序算法方面提供了丰富的支持。相信大家不会对常见的排序算法如冒泡排序、快速排序、插入排序等陌生。

下面我们来看看Java中这些常见的排序算法的实现方式。

1.冒泡排序

冒泡排序是最简单的排序算法之一,它的基本思想是不断比较相邻的元素并交换,将大的元素逐渐“浮”到数组的一端。

代码实现:

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.快速排序

快速排序是基于分治的思想,它将一个数组划分成两个子数组,分别对左右子数组进行排序,最后将排好序的子数组合并起来即可。

代码实现:

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

  if(left < right) {

    int i = left, j = right, key = arr[left];

    while(i < j) {

      while(i < j && key <= arr[j])

        j--;

      if(i < j) {

        arr[i++] = arr[j];

      }

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

        i++;

      }

      if(i < j) {

        arr[j--] = arr[i];

      }

    }

    arr[i] = key;

    quickSort(arr, left, i - 1);

    quickSort(arr, i + 1, right);

  }

}

3.插入排序

插入排序是将一个记录插入到已经排好序的有序表中,并使其成为新的有序表。

代码实现:

public static void insertionSort(int[] arr) {

  int len = arr.length;

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

    int j = i - 1, temp = arr[i];

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

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

      j--;

    }

    arr[j + 1] = temp;

  }

}

通过对上述算法的学习和实现,相信大家已经对Java中的排序算法有了更深层次的理解。

  
  

评论区

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