C++でC風ライブラリを作る(ソート編)
高木です。こんばんは。
前回の二分探索編では、返却値型のCV修飾をいい加減なまま放置してしまいました。
まあ、いつもはすべての型についての定義を書いているわけではないので、今回も代表的なものとしてCV修飾がないものだけを掲載したということにしておきましょう。
さて、今回は前回の予告通り、qsort
関数を定義することにします。
といっても、ほとんどstd::sort
関数そのままで、bsearch
関数との対称性のためぐらいの価値しかありません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | namespace cloverfield { template <typename C, typename F> inline void qsort(C& c, F comp) { std::sort(std::begin(c), std::end(c), comp); } template <typename C> inline void qsort(C& c) { std::sort(std::begin(c), std::end(c)); } } |
いつも2000文字以上書いてしまうので、たまにはあっさり終わるのも悪くないでしょう。