排序稳定性

一、概念

排序的稳定性是指一个数组排序后,相同数值的元素的相对顺序不变。
例:

  • 在student类中有年级属性和成绩属性

  • 现在有一个student数组,{student0{3,90},student1{4,60},student2{3,70},student3{4,80}}

  • 先按成绩排序
    {student1{4,60},student2{3,70},student3{4,80},student0{3,90}}

  • 再按上面按成绩排序后的基础上按年级排序,此时稳定的排序算法会与不稳定的算法出现不同情况:

  1. 不稳定的排序:
    {student0{3,90},student2{3,70},student3{4,80},student1{4,60}}
  2. 稳定的排序
    {student2{3,70},student0{3,90},student1{4,60},student3{4,80}}

二、排序算法的稳定性:

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、 单项选择题(共71题) 对n个元素的序列进行冒泡排序时,最少的比较次数是( )。A. n ...
    貝影阅读 9,224评论 0 10
  • 前言 由于在开发过程中常常需要用到系统提供的基础类型之外的的类型,所以Swift允许我们根据自己的需要构建属于自己...
    心淡然如水阅读 468评论 0 1
  • 理论知识 修改数据表 1.修改表名 格式:Alter table 旧表名 rename [to] 新表名; 如下:...
    lufaqiang阅读 1,453评论 0 0
  • 由于在开发过程中常常需要用到系统提供的基础类型之外的的类型,所以Swift允许我们根据自己的需要构建属于自己的类型...
    清风沐沐阅读 382评论 0 1
  • 一. Java基础部分.................................................
    wy_sure阅读 3,834评论 0 11