精華區beta NTUEE107HW 關於我們 聯絡資訊
相信未做作業的同學,要看那三題又長又臭的英文解釋,都會頓時沒有胃口 小弟在此獻醜 bucket sort 假設要排序的數列為 {66,21,18,95,16,17,14,54} 八個數 a[8] 那麼變要定義一個 10*8 二維陣列 b[10][8] 將個為n的數放進b[n][]中 b[1][0]=21 b[4][0]=14 b[4][1]=54 b[5][0]=95 b[6][0]=66 b[6][1]=16 b[7][0]=17 b[8][0]=18 由上至下,左至右放回 a[] 此時a變為{21,14,54,95,66,16,17,18} 繼續對十位、百位…進行上面步驟就可以了,就是小學時學比較兩數大小的方法 selection sort 數列同上 在整個陣列中找出最小的與第一個互換 {14,21,18,95,16,17,66,54} 不理第一個,從餘下的找出最小的與第二個互換 {14,16,18,95,21,17,66,54} 不斷重覆至排好為止 quick sort 數列也同上 先鎖定第一個元素"66" 「從最右邊開始向左,找第一個比66小的"54",互換位置 {54,21,18,95,16,17,14,66} 從左邊開始向右找第一個比66大的"95",互換 {54,21,18,66,16,17,14,95}」 重覆引號步驟,直至66左邊的都比66小,右邊都比66大 此例完成時為{54,21,18,14,16,17,66,95} 對66的左邊、右邊兩個子數列{54,21,18,14,16,17} {95} 重覆上述操作 -- ██ ███ ICQ :179037634 ██◢ ██ E-mail:kafai410a@yahoo.com ███◤ ▆▆ █◤ MSN :kafai410@msn.com █◣ ◢◤ ◢◤█ █ █◥█ ◢█ ██ ◢█ █from NTUEE -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.239.182
ALEXXXX:真是個大好人m(_ _)m 推 140.112.250.26 11/09
smarttb1:<(_ _)> 推140.112.239.155 11/10