浅谈java中常见的排序

 

浅谈java中常见的排序

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

简单的实现代码如下:

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

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

      2、 找到合理位置插入。

具体简单实现代码:

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

 

posted @ 2012-07-02 16:41  源&缘  阅读(1377)  评论(1编辑  收藏  举报