Heim >Backend-Entwicklung >C++ >Wie sortiere ich Arrays mit std::sort in C?

Wie sortiere ich Arrays mit std::sort in C?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-23 21:30:02932Durchsuche

How to Sort Arrays Using std::sort in C  ?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn