C ++ qsort () - C ++ Standard Library

A qsort () függvény a C ++ nyelven a megadott tömböt növekvő sorrendbe rendezi a Quicksort algoritmus segítségével.

A qsort () függvény összehasonlító függvény segítségével dönti el, melyik elem kisebb / nagyobb, mint a másik.

qsort () prototípus

 void qsort (void * base, size_t num, size_t size, int (* összehasonlít) (const void *, const void *));

A függvény a fejlécfájlban van meghatározva.

A qsort () függvény növekvő sorrendbe rendezi az adott tömböt bázissal mutatva. A tömb numelemeket tartalmaz , mindegyik méretben bájt.

Az összehasonlítással mutatott függvény a tömb két elemének összehasonlítására szolgál. Ez a függvény magának a tömbnek a tartalmát növekvő sorrendben módosítja.

Ha azonban két vagy több elem egyenlő, akkor sorrendjük nincs meghatározva.

qsort () Paraméterek

  • alap: A tömb első elemének mutatója a rendezéshez
  • num: A tömb elemének száma
  • méret: A tömb egyes elemeinek mérete bájtokban
  • összehasonlítás: Mutató egy függvényhez, amely két elemet hasonlít össze. Visszatér
    • negatív egész szám, ha az első argumentum kisebb, mint a második
    • pozitív egész szám, ha az első argumentum nagyobb, mint a második
    • nulla, ha mindkét argumentum egyenlő

Az összehasonlító függvény prototípusa a következőképpen néz ki:

 int összehasonlítani (const void * a, const void * b);

qsort () Visszatérési érték

A qsort () függvény nem ad vissza semmit. A rendezett tömböt bázis mutatja.

Példa: Hogyan működik a qsort () függvény?

 #include #include using namespace std; int compare(const void* a, const void* b) ( const int* x = (int*) a; const int* y = (int*) b; if (*x> *y) return 1; else if (*x < *y) return -1; return 0; ) int main() ( const int num = 10; int arr(num) = (9,4,19,2,7,9,5,15,23,3); cout << "Before sorting" << endl; for (int i=0; i 

When you run the program, the output will be:

 Before sorting 9 4 19 2 7 9 5 15 23 3 After sorting 2 3 4 5 7 9 9 15 19 23

érdekes cikkek...