# 2024q1 Homework2 (quiz1+2) contributed by < `wilicw` > ## Optimized QuickSort ### 文章閱讀 [測驗中提及的文章](https://alienryderflex.com/quicksort/)使用迴圈和 `begin` `end` 的方式來取代 Quick Sort 的遞迴, ### 使用 List API 實作 > [實作程式碼](https://github.com/wilicw/list-sort/blob/main/queue.c#L22) 測驗一中使用了單向鏈結串列,而原文中使用的是陣列,這兩種方法在實作時需要分別宣告數列的開頭(`begin` 變數)和結尾(`end` 變數)才能得知每次迴圈需要走訪的範圍,如果使用 Linux 風格的雙向鏈結串列,只需要一個 `stack` 變數即可儲存每次迴圈所需要走訪的串列。 ### 效能分析 使用 perf