JAVA 排序:JAVA语言中几种常见的排序算法

本文详细介绍了JAVA中的六种常见内部排序算法:冒泡排序、选择排序、插入排序、希尔排序、快速排序和归并排序。这些算法包括了它们的基本原理和在JAVA语言中的实现代码,对于理解和应用排序算法具有指导意义。
摘要由CSDN通过智能技术生成

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,进行递增或递减的排列操作,比如数字排序:1、2、3……,再比如字母排序:A、B、C……。排序算法,就是实现记录按照要求排列的方法。排序算法在很多领域非常实用,尤其是在复杂的大型数据处理方面。

排序算法可以分为内部排序和外部排序。

内部排序是指数据记录在内存中的排序。外部排序是因排序数据很大,一次性不能容纳全部的排序记录,而需要访问外存进行操作的排序。

今天我们讲几种常见的内部排序算法:冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序。

一、冒泡排序

冒泡排序算法的原理:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

二、选择排序

选择排序算法的原理:

  1. 第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置
  2. 从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。
  3. 以此类推,直到全部待排序的数据元素的个数为零。

三、插入排序

插入排序算法的原理:

  1. 在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的
  2. 将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。
  3. 按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。

四、希尔排序

希尔排序属于插入类排序,是将整个有序序列分割成若干小的子序列分别进行插入排序

希尔排序算法的原理

先取一个正整数d1<n,把所有序号相隔d1的数组元素放一组,组内进行直接插入排序;然后取d2<d1,重复上述分组和排序操作;直至di=1,即所有记录放进一个组中排序为止。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人杰鬼雄

程序无止境,谢谢大家的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值