排序算法的特性
Posted bowenqianngzhibushiwo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法的特性相关的知识,希望对你有一定的参考价值。
稳定性:
稳定:冒泡排序,插入排序,归并排序、桶排序、计数排序、基数排序
非稳定:选择排序、快速排序、堆排
稳定性的优势
稳定性可保证双属性条件下,按第一个属性排序后,再按照第二个属性排序,排完后属性2相等的元素,按属性1的顺序排列。
工程中
长序列:
基础类型:快排(非稳定)
自定义属性:堆排(稳定)
短序列《length<60》:插排
比较器伪代码
//不传入 Class 按照地址排序
public static class Ascend implements Comparator<Class自定义>
@Override
public int compare(Class自定义 o1, Class自定义 o2)
return o1.属性-o2.属性;//升序
sort(a,new Ascend());
堆
PriorityQueue<自定义类> heap=new PriorityQueue<自定义类>(new Ascend());//小顶堆
红黑树
TreeSet<自定义类> heap=new TreeSet<自定义类>(new Ascend());
以上是关于排序算法的特性的主要内容,如果未能解决你的问题,请参考以下文章