創作內容

0 GP

用樹狀圖表示Insertion Sort

作者:ThingKingRight│2020-06-14 15:43:55│巴幣:0│人氣:66
List = [3, 2, 1]                                      i (initial = 1; First i Is 0)
i = Main Position Of List                      |
j = Sub Position Of List                   Sub 1
                                                           |
                          | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄|
                        i < Last Position                                    i = Last Position
                          |                                                            |
                        j = i                                                       j = i
                          |                                                            |
                       Sub 2                                                     Sub 2
                          |                                                            |
          | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|                             | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
List[j] < List[j-1]    List[j] > List[j-1]      List[j] < List[j-1]     List[j] > List[j-1]
           |                           |                               |                              |
     Exchange                 i += 1                     Exchange                    End
           |                           |                               |
         j -= 1                   Sub 1                         j -= 1
           |                                                           |
  | ̄ ̄ ̄ ̄ ̄|                                       | ̄ ̄ ̄ ̄ ̄ ̄|
j = 0          j > 0                                  j > 0               j = 0
   |               |                                        |                    |
i += 1        Sub 2                                Sub 2             End
   |
Sub 1

Code:
  1. i = 1
  2. length = len(List)-1
  3. while i <= length:
  4.     j = i
  5.     while List[j] < List[j-1] and j > 0:
  6.         me = List[j]
  7.         left = List[j-1]
  8.         List[j] = left
  9.         List[j-1] = me
  10.         j -= 1
  11.     else:
  12.         i += 1

修剪:
  1. i = 1
  2. length = len(List)
  3. while i < length:
  4.     j = i
  5.     i += 1
  6.     while List[j] < List[j-1] and j > 0:
  7.         me = List[j]
  8.         left = List[j-1]
  9.         List[j] = left
  10.         List[j-1] = me
  11.         j -= 1

for range 式:
  1. for j in range(1, len(List)):
  2.     while List[j] < List[j-1] and j > 0:
  3.         me = List[j]
  4.         left = List[j-1]
  5.         List[j] = left
  6.         List[j-1] = me
  7.         j -= 1

引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4816216
All rights reserved. 版權所有,保留一切權利

相關創作

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★sn365re272pd 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:用SikuliX辨識轉珠...

追蹤私訊切換新版閱覽

作品資料夾

Waterfall10絕大部份巴友
分享網路小說《全職藝術家》,作者:我最白,歡迎瀏覽 ~看更多我要大聲說昨天22:21


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】