常见的数据排序方法

排序,顾名思义,就是将一组无序的数据按照指定的顺序(一般是从大到小或从小到大)进行排列的过程。不管是在Java还是在JavaScript、PHP、C/C++等编程语言中,对数组(或集合)进行排序都是程序开发人员的必备技能。

排序一般可分为两大类:

  • 1.内部排序

  • 当数据相对较少时,我们可以将所有需要排序的数据全部加载到内存中,然后对其进行排序。内部排序主要包括交换式排序法选择式排序法插入式排序法

  • 2.外部排序

  • 当数据量非常大时,计算机内存空间无法一次性加载所有数据,此时需要借助于外部存储空间对其进行排序。外部排序主要包括合并排序法直接合并排序法

由于外部排序所需处理的数据量非常大,绝大多数的程序开发工作中都不会用到,因此我们这里不对其进行讨论。现在我们来具体讨论内部排序法。

上面我们已经提到,内部排序法可以分为交换式排序法选择式排序法插入式排序法。这三种排序法又可以继续分类为具体的排序方法。

  • 交换式排序法

  • 交换式排序法,意即将所有的数据按照一定的方式进行比较,然后根据数据比较的结果,对其数据位置进行相应的多次交换,以达到排序的目的。交换式排序又包括以下两种主要排序方法:

    • 冒泡排序

    • 快速排序

  • 选择式排序法

  • 选择式排序法,意即按照一定的方式从所有的数据中选择符合排序规则的某个元素,然后将其与指定顺序的数据交换位置,以达到排序的目的。选择式排序法又包括以下两种主要排序方法:

    • 选择排序

    • 堆排序

  • 插入式排序法

  • 插入式排序法,意即按照一定的方式从所有的数据中选择符合规则的某个元素,然后按序放置在一个新的数据结构中,新的数据结构中的数据即是排序好的数据。插入式排序法又包括以下3种主要排序方法:

    • 插入排序

    • Shell(谢耳/希尔)排序

    • 二叉树排序

由于数据排序方法具体内容的篇幅较多,因此不放在本文中整体显示,请点击上述排序方法对应的链接,即可查看到指定排序方法的具体内容。

由于数据排序的方法繁多,本文列举的只是一些常见的数据排序方法,并且相关算法文章的具体内容均以整数类型(int)的数组为例进行讲解。


未经允许请勿转载:程序喵 » 常见的数据排序方法

点  赞 (0) 打  赏
分享到: