21xrx.com
2024-12-23 01:17:38 Monday
登录
文章检索 我的文章 写文章
我在学习Java的过程中
2023-06-18 15:56:39 深夜i     --     --
Java 排序算法 总结

我在学习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 selectionSort(int[] arr){

  int len = arr.length;

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

    int minIndex = i;

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

      if (arr[j] < arr[minIndex])

        minIndex = j;

      

    }

    int temp = arr[i];

    arr[i] = arr[minIndex];

    arr[minIndex] = temp;

  }

}

3. 插入排序

插入排序是一种简单直观的排序算法,它的核心思想是将一个待排序的元素插入到已排序序列的适当位置上。

示例代码:


public static void insertionSort(int[] arr){

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

    int temp = arr[i];

    int j = i - 1;

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

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

      j--;

    }

    arr[j + 1] = temp;

  }

}

其他排序算法的示例代码可以参考我在GitHub上的项目代码:https://github.com/xxxx/java-sort

通过这些排序算法的学习,我认识到在算法设计和编程实现过程中,正确选取适合的算法对程序的优化和效率提高都是非常重要的。

  
  

评论区

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