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>
Функция не должна модифицировать объекты передаваемые ей.
|
Возвращаемое значение
(нет)
Пример
Следующая программа сортирует массив целых чисел, используя 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
См. также
(C11) |
ищет в массиве элемент неопределённого типа (функция) |
Документация C++ по qsort
| |