21xrx.com
2025-03-14 16:53:16 Friday
文章检索 我的文章 写文章
学习Java排序算法
2023-06-11 07:19:43 深夜i     8     0
Java 排序算法 冒泡排序 选择排序 插入排序

我在学习 Java 的过程中,接触到了排序算法,这是编程中非常常见的一个应用。下面我来介绍一下 Java 中的几种排序算法。

第一个排序算法是冒泡排序。这种算法原理很简单,就是将相邻的两个数进行比较,如果前面的数比后面的数大,就进行交换。代码实现如下:

public void bubbleSort(int[] arr) {
  int temp = 0;
  for (int i = 0; i < arr.length - 1; i++) {
    for (int j = 0; j < arr.length - 1 - i; j++) {
      if (arr[j] > arr[j+1]) {
        temp = arr[j+1];
        arr[j+1] = arr[j];
        arr[j] = temp;
      }
    }
  }
}

第二个排序算法是选择排序。选择排序也比较简单,它每次找到未排序序列中的最小值,将其放到已排序序列的末尾。代码实现如下:

public void selectSort(int[] arr) {
  int minIndex = 0;
  int temp = 0;
  for (int i = 0; i < arr.length - 1; i++) {
    minIndex = i;
    for (int j = i + 1; j < arr.length; j++) {
      if (arr[j] < arr[minIndex])
        minIndex = j;
     
    }
    temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }
}

第三个排序算法是插入排序。它的原理就是将一个记录插入到已经排好序的有序表中,从而得到一个新的有序表。代码实现如下:

public void insertSort(int[] arr) {
  int current = 0;
  for (int i = 1; i < arr.length; i++) {
    current = arr[i];
    int preIndex = i - 1;
    while (preIndex >= 0 && arr[preIndex] > current) {
      arr[preIndex + 1] = arr[preIndex];
      preIndex--;
    }
    arr[preIndex + 1] = current;
  }
}

以上就是我介绍的三种排序算法,分别是冒泡排序、选择排序和插入排序。通过学习这些算法,我更好地理解了 Java 语言的编程原理。

  
  

评论区