Java中有八种常用的排序算法和代码实现,读一次就可以记住它们
1。通过直接插入排序
我经常遇到这样的排序问题:将新数据插入到已经排序的数据列中。
- 对第一个数字和第二个数字进行排序,形成有序序列。
- 将第三个数字插入其中以形成新的有序系列。
- 对第四个数字、第五个数字重复第二步...直到最后一个数字。

代码怎么写:
- 首先设置插入次数,即循环次数,因为(int i=1;i>length;i++),不需要设置插入次数插入 插入 1。
- 设置插入编号和位数以获取序列中的最后一个数字。 insertNum 且 j=i-1。
- 从最后一首歌向前走。如果插入的数字小于当前数字,则将当前数字后移一位。
- 将当前数字放入空位置,即j+1。
代码实现如下:
2.希尔排序
用于数据量巨大时的直接插入问题。
- 将数字个数设为n,取奇数k=n/2,将下标差为k的书籍分为一组,形成有序系列。
- 然后取k=k/2,将下标差为k的书籍分为一组,形成有序系列。
- 重复第二步,直到k=1,执行简单的插入排序。

代码怎么写:
- 首先确定组数。
- 接下来,对组中的元素执行插入排序。
- 然后是length/2,重复步骤1和2,直到length=0。
代码实现如下:
3.简单选择排序 通常用于获取集合中的最大和最小数字。 (如果每次比较都通过交换进行,那么就是交换排序;如果每次比较都在一个循环中完成,然后进行交换,那么就是简单选择排序。) 代码怎么写: 代码实现如下: 4。堆排序 简单选择排序的优化。 代码实现如下: 5。一般不使用冒泡排序 。 如何编写代码: 代码实现如下: 6。快速排序 当需要最快时间时。 代码实现如下: 7。归并排序 速度仅次于快速排序。当内存较小时使用,可用于并行计算。 代码实现如下: 8。基数排序 用于对大数字和非常长的数字进行排序。 代码实现如下:
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。