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

std::qsort

Материал из cppreference.com
 
 
Алгоритмы
Функции
Немодифицирующие линейные операции
Модифицирующие линейные операции
Разделение
Сортировка (на отсортированных промежутках)
Бинарный поиск (на отсортированных промежутках)
Множества (на отсортированных промежутках)
Куча
Минимум/максимум
Числовые операции
Библиотека C
qsort
 
Заголовочный файл <cstdlib>
void qsort( const void *ptr, size_t count, size_t size,
            int (*comp)(const void *, const void *) );
Сорта данного массива, на который указывает ptr в порядке возрастания. Массив содержит элементы count размер size. Функция, на которую указывает comp используется для сравнения объектов.
Original:
Sorts the given array pointed to by ptr in ascending order. The array contains count elements of size size. Function pointed to by comp is used for object comparison.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Содержание

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

ptr -
Указатель на массив для сортировки
Original:
pointer to the array to sort
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
count -
Количество элементов в массиве
Original:
number of element in the array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
size -
Размер каждого элемента массива в байтах
Original:
size of each element in the array in bytes
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
comp - функция сравнения, возвращающая отрицательное целое значение, если первый аргумент меньше второго, положительное целое значение, если первый аргумент больше второго и ноль, если аргументы равны.

Сигнатура функции сравнения должна быть эквивалентна следующей:

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

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

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

(Нет)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Notes

Тип элементов массива должно быть тривиальным' типа, в противном случае поведение не определено.
Original:
The type of the elements of the array must be a trivial type, otherwise the behavior is undefined.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

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

Следующие виды кода массив целых чисел с помощью qsort() .
Original:
The following code sorts an array of integers using qsort().
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <cstdlib>
 
int compare_ints(const void* a, const void* b)   // comparison function
{
    int* arg1 = (int*) a;
    int* arg2 = (int*) b;
    if (*arg1 < *arg2) return -1;
    else if (*arg1 == *arg2) return 0;
    else return 1;
}
 
int main()
{
    int a[] = { -2, 99, 0, -743, 2, 3, 4 };
    int size = 7;
 
    std::qsort(a, size, sizeof(int), compare_ints);
 
    for (int i = 0; i < size; i++) {
        std::cout << a[i] << " ";
    }
    std::cout << '\n';
}

Вывод:

-743 -2 0 2 3 4 99

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

поиск массиве элемент неопределенного типа
Original:
searches an array for an element of unspecified type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(функция) [edit]
виды диапазон в порядке возрастания
Original:
sorts a range into ascending order
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон функции) [edit]
проверяет, является ли тип тривиально
Original:
checks if a type is trivial
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(шаблон класса) [edit]