1.直接插入排序
核心思想:
将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元素都比较过。
该方法:稳定
2.冒泡排序
(1)将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;
( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)
(2)对序列当中剩下的n-1个元素再次执行步骤1
3 .简单选择排序
比较+交换
(1)从待排序序列中,找到关键字最小的元素
(2)如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
(3)从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。
4 .堆排序
任意的叶子节点小于(或大于)它所有的父节点
对此,又分为大顶堆和小顶堆。
大顶堆要求节点的元素都要大于其孩子,小顶堆要求节点元素都小于其左右孩子,两者对左右孩子的大小关系不做任何要求。