給一個數列畫出快速排序第一個回合

 請將 18、25、6、33、9、12、55、14 依快速排序(Quick sort)由小排到大,若是以最左的資料 18 為支柱點(pivot),請繪出 first pass(即是指將資料 18 放在正確的位置)之排序過程

從兩邊開始找,左邊找比基準點大的,右邊找比基準點小的,將兩者做交換

|18|、25、6、33、9、12、55、14 

|18|、14、6、33、9、12、55、25

|18|、14、6、12、9、33、55、25

左右代理人相遇在9,9與基準值18交換

|9|、14、6、12、18、33、55、25

* 記憶:左邊的爸爸頭很大,右邊的兒子頭很小

變化題

  • 由小至大排
  • 畫第二回合
  • 取最後一個元素當基準點,畫第一回合

沒有留言:

張貼留言

寫下幸福點子吧!