std::qsort
Материал из cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Заголовочный файл <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.
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 | - | функция сравнения, возвращающая отрицательное целое значение, если первый аргумент меньше второго, положительное целое значение, если первый аргумент больше второго и ноль, если аргументы равны. Сигнатура функции сравнения должна быть эквивалентна следующей:
Функция не должна изменять объекты, переданные ей. |
[править] Возвращаемое значение
(Нет)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
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.
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.
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. (функция) | |
виды диапазон в порядке возрастания 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. (шаблон функции) | |
(C++11) |
проверяет, является ли тип тривиально 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. (шаблон класса) |
C документация для qsort
|