插入排序(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. python實現插入排序演算法
插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...
python實現插入排序演算法
插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...
python實現插入排序演算法
插入排序,其原理是通過構建乙個初始的有序序列,然後從無需序列中抽取元素,插入到有序序列的相對排序位置,就像將一堆編號混亂的書,一本一本的放到書架上,找到上下編號之間的位置插入,最後完成整理。python實現插入排序並不難,從第二個位置開始遍歷,與它前面的元素相比較,如果比前面元素小就交換位置,實現如...