标签:strong 空间 元素 并且 for 个数 img under 大小
每次将一个待排序的记录,按其关键字大小,插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
根据寻找插入位置方法分为
当插入第i(i≥1)个对象时,前面的V[0],V[1],…,V[i?1]已经排好序。这时,用V[i]的排序码与V[i?1],V[i?2],…,V[0]的排序码顺序进行比较,找到插入位置即将V[i]插入,原来位置上的对象向后顺移。
从上到下,分别展示了直接排序算法的所有可能的过程,包括相同排序码的排序方式(保持了原来的顺序,说明是稳定排序)以及in-place操作中的元素移动等。
设待排序对象个数为n,则该算法的主程序执行n?1趟排序码比较次数和对象移动次数与对象排序码的初始排列有关。
for j=2 to A.length
key = A[j]
i = j-1
while i>0 and A[i]>key
A[i+1] =A[i]
i = i-1
A[i+1] = key
for(j=1;j<n;j++) { key = A[j]; for(i=j-1;i>=0&&A[i]>key;i--) A[i+1] = A[i]; A[i] = key; }
标签:strong 空间 元素 并且 for 个数 img under 大小
原文地址:http://www.cnblogs.com/Nice-Boy/p/6075901.html