在 C 中使用 std::sort 对数组进行排序
对声明为 int v[2000] 的数组进行排序;使用 std::sort 函数,只需提供数组的开始和结束迭代器。在 C 0x/11 中,这可以通过 std::begin 和 std::end 函数来实现,这些函数为数组重载:
<code class="cpp">#include <algorithm> int main(){ int v[2000]; std::sort(std::begin(v), std::end(v)); }</code>
如果您无权访问 C 0x,您可以自己实现这些功能:
<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(); } // overloads for C style arrays 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 中使用 std::sort 对数组进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!