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

qsort

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

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

Содержание

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

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

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


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

(нет)

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

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

#include <stdio.h>#include <stdlib.h>   int compare_ints(constvoid* a, constvoid* b){constint*arg1 = a;constint*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");   returnEXIT_SUCCESS;}

Вывод:

-743 -2 0 2 3 4 99

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

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