namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:qsort

qsort()

#include <cstdlib>

void qsort (void *array, size_t count, size_t size, 
            int (*compare)(const void*, const void*)) 

Quick Sort.

Parameter

array Feldanfang
count Anzahl der Feldelemente
size Größe eines Feldelementes in Byte
compare Vergleichsfunktion

Die Vergleichsfunktion compare(x,y) muss zwei Zeiger auf Feldelemente übernehmen und eine Ganzzahl liefern:

compare(x,y) < 0 *x < *y
compare(x,y) ==0 für *x ==*y
compare(x,y) > 0 *x > *y

Wegen der strengeren Typprüfung ist in C++ ein Typecast erforderlich.

Ergebnis

Rückgabewert: keiner.

Siehe auch

Beispiel

qsort.cpp
#include <cstdlib>
#include <iostream>
 
int vergleich(const double* x, const double* y)
{
  return *x - *y;
}
 
int main()
{
  using namespace std;
  double arr[] = { 3, 5, 4, 1, 2 };
 
  qsort(arr, 5, sizeof(double), 
        (int (*)(const void*, const void*)) vergleich);
 
  cout << arr[0] << "..." << arr[4] << '\n';
}
kennen/lib/qsort.txt · Zuletzt geändert: 2019-11-20 16:02 von rrichter