排序的基本概念
排序就是重新排列列表中的元素,是列表中的元素满足关键字有序的过程。
排序算法的稳定性是指经过排序后,能使关键字相同的元素保持原顺序的相对位置不变。算法是否具有稳定性不能衡量一个算法的优劣,它主要是对算法的性质进行描述。
在排序过程中,根据数据元素是否完全在内存中,可将排序分为俩类,内部排序和外部排序。内部排序是指排序期间所有元素全部存放在内存中的排序。外部排序是指排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断的在内,外存之间移动的排序。
一般情况下,内部排序算法,在执行的过程中都要进行比较和移动,比较关键字的大小,确定对应元素的前后关系,通过移动元素以达到有序,并非所有的内部排序算法都要基于比较,基数排序就不基于比较。