选择排序:在线性表中找到最小元素,并将其和第一个元素交换,然后在剩下的元素中找到最小元素,将其和剩余的线性表的第一个元素交换,这样一直做下去,直到线性表中仅剩一个元素为止。
插入排序:插入排序重复的将新的元素插入到一个排好序的子线性表中,直到整个线性表排好序。
冒泡排序:多次遍历数组,在每次遍历中连续比较相邻的元素,如果元素没有按照顺序排列,则互换它们的位置。第一次遍历之后,最后一个元素成为数组中的最大数。第二次遍历之后,倒数第二个元素成为数组中的第二大数。整个过程持续到所有元素都已排好序。
快速排序:(冒泡排序)快速排序算法在数组中选择一个主元的元素,将数组分为两部分,使得第一部分中的所有元素都小于或等于主元,而第二部分中的所有元素都大于主元。对第一部分递归地应用快速排序算法,然后对第二部分递归地应用快速排序算法
归并排序:归并排序算法将数组分为两半,对每部分递归地应用归并排序。在两部分都排好序后,对它们进行归并。
堆排序:(层序遍历排序、选择排序类)堆排序使用的是二叉堆,它首先将所有的元素添加到一个堆上,然后不断移除最大的元素以获得一个排好序的线性表。
希尔排序:(增量式排序、插入排序类)将相隔某个“增量”的记录组成一个子序列,实现跳跃式的移动,使得排序的效率提高。
基数排序:桶排序和基数排序是对整数进行排序的高效算法。桶排序是稳定的。基数排序是基于桶排序的,但是它只使用10个桶。基数排序的思路是将这些键值基于它们的基数位置分为子组,然后反复地从最小的基数位置开始,对其上的键值应用桶排序。
外部排序:对大容量数据进行排序。