Code前端首页关于Code前端联系我们

Java中有八种常用的排序算法和代码实现,读一次就可以记住它们

terry 2年前 (2023-09-25) 阅读数 45 #后端开发

1。通过直接插入排序

我经常遇到这样的排序问题:将新数据插入到已经排序的数据列中。

  1. 对第一个数字和第二个数字进行排序,形成有序序列。
  2. 将第三个数字插入其中以形成新的有序系列。
  3. 对第四个数字、第五个数字重复第二步...直到最后一个数字。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码怎么写:

  1. 首先设置插入次数,即循环次数,因为(int i=1;i>length;i++),不需要设置插入次数插入 插入 1。
  2. 设置插入编号和位数以获取序列中的最后一个数字。 insertNum 且 j=i-1。
  3. 从最后一首歌向前走。如果插入的数字小于当前数字,则将当前数字后移一位。
  4. 将当前数字放入空位置,即j+1。

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

2.希尔排序

用于数据量巨大时的直接插入问题。

  1. 将数字个数设为n,取奇数k=n/2,将下标差为k的书籍分为一组,形成有序系列。
  2. 然后取k=k/2,将下标差为k的书籍分为一组,形成有序系列。
  3. 重复第二步,直到k=1,执行简单的插入排序。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码怎么写:

  1. 首先确定组数。
  2. 接下来,对组中的元素执行插入排序。
  3. 然后是length/2,重复步骤1和2,直到length=0。

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

3.简单选择排序

通常用于获取集合中的最大和最小数字。

(如果每次比较都通过交换进行,那么就是交换排序;如果每次比较都在一个循环中完成,然后进行交换,那么就是简单选择排序。)

  1. 遍历整个集合,将前面的最小数字。
  2. 浏览剩余的系列,将最小的数字放在第一位。
  3. 重复第二步,直到只剩下一个数字。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码怎么写:

  1. 首先确定循环次数,记住当前的次数和位置。
  2. 将当前位置之后的所有数字与当前数字进行比较,将小数值分配给该键并记住小数点的位置。
  3. 比较完成后,将最小值与第一个数字的值交换。
  4. 重复步骤2和3。

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

4。堆排序

简单选择排序的优化。

  1. 将序列构建成一大堆。
  2. 将主节点与最后一个节点交换,然后断开最后一个节点。
  3. 重复步骤一和二,直到所有节点都断开连接。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了Java 常用八种排序算法与代码实现,自己撸一遍就记住了

5。一般不使用冒泡排序

  1. 成对比较系列中的所有元素,并将最大的放在最后。
  2. 将剩余集合中的所有元素成对比较,并将最大的放在最后。
  3. 重复第二步,直到只剩下一个数字。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

如何编写代码:

  1. 设置循环次数。
  2. 设置开始比较的位数和结束比较的位数。
  3. 比较两者,较小的放在前面。
  4. 重复步骤2和3,直到完成循环次数。

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

6。快速排序

当需要最快时间时。

  1. 选择第一个数为p,小于p的数放在左边,大于p的数放在右边。
  2. 对 p 左右的数字递归地执行第一步,直到不再可能递归为止。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

7。归并排序

速度仅次于快速排序。当内存较小时使用,可用于并行计算。

  1. 选择两个相邻的数字以形成有序序列。
  2. 选择两个相邻的有序序列,组成一个有序序列。
  3. 重复第二步,直到它们全部形成有序系列。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了

8。基数排序

用于对大数字和非常长的数字进行排序。

  1. 从所有数字中取出个别数字,并根据个别数字进行排序,形成一个系列。
  2. 从所有新组成的数字中取出十位数字,并按照十位数字排序,形成一个级数。
Java 常用八种排序算法与代码实现,自己撸一遍就记住了

代码实现如下:Java 常用八种排序算法与代码实现,自己撸一遍就记住了Java 常用八种排序算法与代码实现,自己撸一遍就记住了

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门