递归与非递归插入排序
插入排序使用增量方法:在排好序的数组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 }