# -*- coding: utf-8 -*- #--------------------------------------- # ç¨åºï¼å¸å°æåº # çæ¬ï¼ 0.1 # ä½è ï¼WuChong # æ¥æï¼2014-02-08 # è¯è¨ï¼Python 3.3 # 说æï¼ #--------------------------------------- def shell_sort(ary): n = len(ary) gap = round(n/2) #åå§æ¥é¿ , ç¨roundåèäºå ¥åæ´ while gap > 0 : for i in range(gap,n): #æ¯ä¸åè¿è¡æå ¥æåº , ä»gap å° n-1 temp = ary[i] j = i while ( j >= gap and ary[j-gap] > temp ): #æå ¥æåº ary[j] = ary[j-gap] j = j - gap ary[j] = temp gap = round(gap/2) #éæ°è®¾ç½®æ¥é¿ return ary