contributed by < CodeStone1125 >
Reviewed by SimonLiu423
queue.h 中已有 q_release_element() 函式可以去釋放指定的 element,為了增加可讀性及可維護性,建議將 q_free() 中釋放節點的部分改為利用這個函式達成。
另外也許可以結合 queue_contex_t 的使用在每次對佇列的操作都對 queue_contex_t.size 進行佇列長度的維護這樣的話呼叫 q_size 就直接回傳 queue_contex_t.size 即可。考量到封裝性,queue_contex_t 有種將 queue 包起來的感覺,提供關於該 queue 的一些額外資訊,我想透過 queue 的基本操作獲取外部的 struct 資訊也許不是一個好的方法?歡迎其他人提供更多想法。
此外,考量到使用情況,若大部分時間只會對 queue 進行新增/移除元素,而不會詢問 queue 的大小,則會花費大量不必要的時間去更新 size 資訊。
Sorting Methods Comparison 的圖表中,X 軸的單位建議可以以 $10^3$(k) 為單位,顯示的數值便可從 $100000$, $200000$, ... 變成 $100$, $200$, ...,增加圖表的可讀性。
Reviewed by NeedToDebugMyLife
Commit 25c014d 中,可以使用 !head 的寫法來替代 head==NULL,這樣的寫法更為精簡,head->next == head 的寫法可以使用 <list.h> 中的 list_empty() 來替代。