插入排序(INSERTION SORT)是一个对少量元素进行排序的有效算法。
其原理类似于打扑克时的摸牌,每次从牌堆取最上面一张,插入手中的牌中的正确位置。
(图片来自《算法导论》)
以下是python代码实现:
def insert_sort(p_list):
if len(p_list) <= 1:
return p_list;
r_list = [p_list[0]];
for i in xrange(1,len(p_list)):
for j in xrange(len(r_list)-1,-1,-1):
if p_list[i] >= r_list[j]:
r_list[j+1:0] = [p_list[i]];
break;
if j == 0:
r_list[0:0] = [p_list[i]];
return r_list;
enjoy it.