21xrx.com
2024-12-27 19:28:00 Friday
登录
文章检索 我的文章 写文章
学习Java排序算法
2023-06-11 07:19:43 深夜i     --     --
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 语言的编程原理。

  
  

评论区

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