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

qsort

Материал из cppreference.com
< c‎ | algorithm
Определено в заголовочном файле <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 - comparison function which returns ​a negative integer value if the first argument is less than the second,

a positive integer value if the first argument is greater than the second and zero if the arguments are equal.
The signature of the comparison function should be equivalent to the following:

 int cmp(const void *a, const void *b);

The function must not modify the objects passed to it.

[править] Возвращаемое значение

(нет)

[править] Пример

Следующая программа сортирует массив целых чисел, используя 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

[править] См. также

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