递归与非递归插入排序

  插入排序使用增量方法:在排好序的数组A[1...j-1]后,将元素A[j]插入,形成排好序的子数组A[1.....j].下面将介绍使用递归和非递归的方法进行插入排序

  1.非递归插入排序: 

insert_sort(A){
for j ← 2 to length[A]
do key ← A[j]
i ← j-1
while i>0 and A[i]>key
  do A[i+1]← A[i]  
      i← i-1
 A[i+1] ← key

}
  2.递归插入排序算法

insert_sort(A,k){
if(k>1){
insert_sort(A,--k)
}
sort(A,k)
}
sort (A,k){
for j ← 2 to k
do key ← A[j]
i ← j-1
while i>0 and A[i]>key
  do A[i+1]← A[i]  
      i← i-1
 A[i+1] ← key

}

posted @ 2012-03-16 21:03  应律  阅读(379)  评论(0编辑  收藏  举报