zoukankan      html  css  js  c++  java
  • 浅谈java中常见的排序

    浅谈java中常见的排序

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

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

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

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

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

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

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

     

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

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

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

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

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

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

    简单的实现代码如下:

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

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

          2、 找到合理位置插入。

    具体简单实现代码:

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

    http://www.cnblogs.com/wwyuan/archive/2012/07/02/2573411.html

  • 相关阅读:
    TinyOS在ubuntu 14.04下安装教程
    C++ STL标准入门
    C++ 模板
    多态
    C++继承
    C++类型转换 -- 由其他类型转换到自定义类型
    运算符重载
    友元
    typedef用法
    c++细节--section1
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2573730.html
Copyright © 2011-2022 走看看