Sortieren von Arrays mit std::sort in C
Um ein als int v[2000] deklariertes Array zu sortieren; Geben Sie mit der Funktion std::sort einfach die Anfangs- und End-Iteratoren des Arrays an. In C 0x/11 kann dies mit den Funktionen std::begin und std::end erreicht werden, die für Arrays überladen sind:
<code class="cpp">#include <algorithm> int main(){ int v[2000]; std::sort(std::begin(v), std::end(v)); }</code>
Wenn Sie keinen Zugriff auf C 0x haben, können Sie dies tun Implementieren Sie diese Funktionen selbst:
<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>
Das obige ist der detaillierte Inhalt vonWie sortiere ich Arrays mit std::sort in C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!