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

std::qsort

Материал из cppreference.com
< cpp‎ | algorithm

 
 
Алгоритмы
Функции
Немодифицирующие линейные операции
Модифицирующие линейные операции
Разделение
Сортировка (на отсортированных промежутках)
Бинарный поиск (на отсортированных промежутках)
Множества (на отсортированных промежутках)
Куча
Минимум/максимум
Числовые операции
Библиотека C
qsort
 
Определено в заголовочном файле <cstdlib>
void qsort( const void *ptr, size_t count, size_t size,
            int (*comp)(const void *, const void *) );
Сорта данного массива, на который указывает ptr в порядке возрастания. Массив содержит элементы count размер size. Функция, на которую указывает comp используется для сравнения объектов.
Оригинал:
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.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

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

ptr -
Указатель на массив для сортировки
Оригинал:
pointer to the array to sort
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
count -
Количество элементов в массиве
Оригинал:
number of element in the array
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
size -
Размер каждого элемента массива в байтах
Оригинал:
size of each element in the array in bytes
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
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.

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

(Нет)

[править] Заметки

Тип элементов массива должно быть тривиальным' типа, в противном случае поведение не определено.
Оригинал:
The type of the elements of the array must be a trivial type, otherwise the behavior is undefined.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

Следующие виды кода массив целых чисел с помощью qsort() .
Оригинал:
The following code sorts an array of integers using qsort().
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

#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

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

поиск массиве элемент неопределенного типа
Оригинал:
searches an array for an element of unspecified type
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]
виды диапазон в порядке возрастания
Оригинал:
sorts a range into ascending order
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон функции) [edit]
проверяет, является ли тип тривиально
Оригинал:
checks if a type is trivial
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(шаблон класса) [edit]
C documentation for qsort