Пространства имён
Варианты
Действия

qsort

Материал из cppreference.com
<tbody> </tbody>
Определено в заголовочном файле <stdlib.h>
void qsort( const void *ptr, size_t count, size_t size, int (*comp)(const void *, const void *) );

Сортирует массив, на который указывает ptr, по возрастанию. Массив содержит count элементов размера size. Функция, на которую указывает comp, используется для сравнения объектов.

Параметры

ptr указатель на сортируемый массив
count число элементов в массиве
size размер каждого элемента массива в байтах
comp функция сравнения, которая возвращает отрицательное целое значение, если первый аргумент меньше чем второй, положительное целое значение, если первый аргумент больше чем второй и ноль если они равны. Сигнатура функции сравнения должна соответствовать следующей: <tbody> </tbody>
int comp (const void *, const void *) );

Функция не должна модифицировать объекты передаваемые ей.


Возвращаемое значение

(нет)

Пример

Следующая программа сортирует массив целых чисел, используя qsort()

#include <stdio.h>
#include <stdlib.h>
 
int compare_ints(const void* a, const void* b)
{
    const int *arg1 = a;
    const int *arg2 = b;

    return *arg1 - *arg2;
}
 
int main(void)
{
    int i;
    int ints[] = { -2, 99, 0, -743, 2, 3, 4 };
    int size = sizeof ints / sizeof *ints;
 
    qsort(ints, size, sizeof(int), compare_ints);
 
    for(i = 0; i < size; i++)
        printf("%d ", ints[i]);

    printf("\n");

    return EXIT_SUCCESS;
}

Вывод:

-743 -2 0 2 3 4 99

См. также

ищет в массиве элемент неопределённого типа
(функция) [править]