您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Ready 发布于2013年08月29日 10:01 最近更新于 2019年05月27日 19:39

原创 常见的数据排序方法

2916 次浏览 读完需要≈ 5 分钟 排序算法

内容目录

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

排序一般可分为两大类:


1.内部排序

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

2.外部排序

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

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

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


交换式排序法

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

选择式排序法

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

插入式排序法

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

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

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

  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论