定义
有nn个记录的序列{ R1, R2,..., Rn}{ R1, R2,..., Rn},对应的关键字序列为:
{ K1, K2,..., Kn}{ K1, K2,..., Kn}
需要确定1,2,…,n的一种排列 { p1, p2,..., pn}{ p1, p2,..., pn},使其对应的关键字满足非递减(或非递增)关系:
Kp1≤Kp2≤...≤Kpn Kp1≤Kp2≤...≤Kpn
也即使得序列变成一个按关键字有序的序列:
{ Rp1, Rp2,..., Rpn}{ Rp1, Rp2,..., Rpn}
稳定性
如果Ki==Kj(1≤i≤n,1≤j≤n,i≠j)Ki==Kj(1≤i≤n,1≤j≤n,i≠j),且排序前RiRi领先于RjRj,如果排序后RiRi仍然领先于RjRj,那么这种排序算法就是稳定的。
内部与外部排序
内部排序(internal sorting):整个排序能在主存中完成,记录个数相对较少;
外部排序(external sorting):不能在主存中完成、必须在内外存间多次交换数据才可完成。