Java的几种经典排序算法

对一个排序算法来讲,通常从以下3个方面衡量算法的优劣:
时间复杂度:主要是分析关键字的比较次数和记录的移动次数。
空间复杂度:分析排序算法中须要多少辅助内存。
稳定性:若两个记录A和B的关键字值相等,但排序后A、B的前后次序保持不变,则称这种算法是稳定的;反之,就是不稳定的。
在这里插入图片描述
1、冒泡排序
    思想:它重复地走访过要排序的数列,一次比较两个元素,小的上“冒”,大的下沉。
这里写图片描述
2、直接插入排序
    思想:每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到所有记录插入完毕为止。
这里写图片描述
3、简单选择排序
    思想:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到所有待排序的数据元素排完。
这里写图片描述web