Описание функций Си

       

Qsort



     qsort

Функция Сортирует данные, применяя быстрый алгоритм сортировки.

Синтаксис #include

void qsort(void *base, size_t nelem, size_t width, int(*fcmp)(const void *, const void *));

Файл, содержащий stdlib.h прототип

Описание Функция qsort применяет алгоритм быстрой сорти- ровки "средний из трех". Функция qsort сортирует содержимое таблицы постоянно вызывая функцию сравнения, определяемой пользователем и адресуе- мой с помощью указателя fcmp.

- base адресует базу (нулевой элемент) сортируе- мой таблицы.

- nelem - число элементов таблицы;

- width - размер каждого элемента таблицы в бай- тах.

Функция *fcmp - функция сравнения - получает два аргумента elem1 и elem2, которые представляют со- бой два указателя на 2 элемента таблицы. Функция сравнения *fcmp сравнивает между собой два адре- суемых элемента таблицы (*elem1 и *elem2) и возв- ращает в зависимости от результата сравнения це- лое число.

Если элементы: *fcmp возвращает: -------------------------------------------------- *elem1elem2 целое >0 --------------------------------------------------

При сравнении символ "меньше, чем" () означает, что в конце сор- тировки левый элемент должен оказаться после пра- вого.

Возвращаемое Нет. значение

Переносимость Функция поддерживается на системах UNIX и стандар- том ANSI C.

Смотрите также

Пример:

#include

#include

#include

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

char list[5][4] = {"cat", "car", "cab", "cap", "can"};

int main(void) { int x; qsort((void *)&list, 5, sizeof(list[0]), sort_function); for(x=0; x



Содержание раздела