問題: 如何使用C 標準範本庫的std::sort( )按升序排列數組?
<code class="cpp">int v[2000];</code>
答案:在C 11 中,您可以使用兩個方便的函數:
<code class="cpp">std::sort(std::begin(v), std::end(v));</code>
附加問題: C🎜>
附加問題: C🎜>
附加問題:<code class="cpp">std::sort(std::begin(v), std::end(v));</code>C🎜>附加問題:
C🎜>附加問題:
C有辦法確定陣列的開始和結束位置嗎?<code class="cpp">template<class Cont> typename Cont::iterator begin(Cont& c){ return c.begin(); } template<class Cont> typename Cont::iterator end(Cont& c){ return c.end(); }</code>
答案: 是的,在 C 11 中,std::begin 和 std::end 是陣列重載。
<code class="cpp">template<class Cont> typename Cont::const_iterator begin(Cont const& c){ return c.begin(); } template<class Cont> typename Cont::const_iterator end(Cont const& c){ return c.end(); }</code>
如果您使用的是早期版本的C ,您可以建立自己的begin 和end 版本:
非常量:<code class="cpp">template<class T, std::size_t N> T* begin(T (&arr)[N]){ return &arr[0]; } template<class T, std::size_t N> T* end(T (&arr)[N]){ return arr + N; }</code>常數:C 樣式陣列的重載:
以上是如何在 C 中使用 std::sort 對陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!