浅谈java中常见的排序

 

浅谈java中常见的排序

       学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到。然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等。下面就让我们一起揭开他们神秘的面纱。

      冒泡排序:想学好排序,最重要的是要知道它们的实现的原理,我们可以分三步来说明冒泡排序的原理:下面以数组为例:

       1、 逐一比较数组中相邻的两个元素,如果后面的数字小于前面的数字,就交换先后元素。

       2、 经过一个轮次的比较,一定有一个最大的排在最后的位置。

       3、 每次比较剩下的元素,经过n-1次比较,可以实现排序。

       简单说: 比较相邻元素,大的向后交换。

根据这些原理我们就推算出循环的条件,简单实现代码:

 

从代码中我们可以看到,这里用到了交换原理的应用。

 

       选择排序:同样我们需要知道它的实现原理,也可以分为三步来看:

       1、将数组中的每个元素,与第一个元素比较如果这个元素小于第一个元素,就将这个两个元素交换。

       2、使用1的规则, 可以选择出一个最小元素放到第一个位置。

       3、经过n-1轮比较完成排序。

     简单说:每轮选择最小的放到前面。

简单的实现代码如下:

       插入排序:实现原理如下:

       1、 将数组分为两部分,将后部分的第一个元素逐一与前部分每一元素比较,如果当前元素小,就一点被比较元素。

      2、 找到合理位置插入。

具体简单实现代码:

        排序在java中还是一个比较重要的知识点。同时也是一个比较难以掌握的知识点。首先,你必须知道他们的实现原理,才能说后面的实现和应用,如果你开始不懂什么意思,并且想学习它,请把这些代码敲20遍。不要问为什么!因为我也敲20遍以上!以上是我个人对java中常见排序的感受。初次写,有不足的地方敬请原谅!

 

转载于:https://www.cnblogs.com/wwyuan/archive/2012/07/02/2573411.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值