当前位置: 首页 > 技术随笔 > 常见的数据排序方法

常见的数据排序方法

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

排序一般可分为两大类:

1.内部排序
当数据相对较少时,我们可以将所有需要排序的数据全部加载到内存中,然后对其进行排序。内部排序主要包括交换式排序法选择式排序法插入式排序法
2.外部排序
当数据量非常大时,计算机内存空间无法一次性加载所有数据,此时需要借助于外部存储空间对其进行排序。外部排序主要包括合并排序法直接合并排序法

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

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

交换式排序法
交换式排序法,意即将所有的数据按照一定的方式进行比较,然后根据数据比较的结果,对其数据位置进行相应的多次交换,以达到排序的目的。交换式排序又包括以下两种主要排序方法:
选择式排序法
选择式排序法,意即按照一定的方式从所有的数据中选择符合排序规则的某个元素,然后将其与指定顺序的数据交换位置,以达到排序的目的。选择式排序法又包括以下两种主要排序方法:
插入式排序法
插入式排序法,意即按照一定的方式从所有的数据中选择符合规则的某个元素,然后按序放置在一个新的数据结构中,新的数据结构中的数据即是排序好的数据。插入式排序法又包括以下3种主要排序方法:

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

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

3 0
我们认为: 用户的主要目的,是为了获取有用的信息,而不是来点击广告的。因此本站将竭力做好内容,并将广告和内容进行分离,确保所有广告不会影响到用户的正常阅读体验。用户仅凭个人意愿和兴趣爱好点击广告。
我们坚信:只有给用户带来价值,用户才会给我们以回报。
CodePlayer技术交流群1CodePlayer技术交流群1

帮朋友打一个硬广告:

P2P网贷系统(Java版本) 新年低价大促销,多年P2P技术积累,系统功能完善(可按需定制,可支持第三方存管、银行存管),架构稳定灵活、性能优异、二次开发快速简单。 另可提供二次开发、安装部署、售后维护、安全培训等一条龙服务。

外行看热闹,内行看门道。可以自信地认为,在系统设计上,比市面上的晓风、迪蒙、方维、绿麻雀、国融信、金和盛等P2P系统要好。
深圳地区支持自带技术人员现场考察源代码、了解主要技术架构,货比三家,再决定是否购买。

也可推荐他人购买,一旦完全成交,推荐人可获得实际售价 10% 的返现。
有意向者,详情请 点击这里 联系,工作时间立即回复。

数据排序