CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
qsort - быстрая сортировка таблицы
Описание
Реализует быструю сортировку таблицы данных. base - указатель на таблицу. nel - количество элементов таблицы. size - размер в байтах элемента таблицы. compar - имя функции, реализующей алгоритм сравне- ния двух аргументов, заданных указателями. Функция поставляется программистом и долж- на возвращать целое, которое меньше, рав- но или больше 0 в соответствии с резуль- татом сравнения двух аргументов.
Использование
#include <stdio.h> void qsort(void *base, unsigned nel, unsigned size, int (*compar)(void *, void *)); /* ANSI */
Возвращаемое значение
Нет возвращаемого значения.
Пример
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAXL 10 unsigned char *line[MAXL]; comp(unsigned char **a, unsigned char **b); { return strcmp(*a, *b); } main() { int j,k; unsigned char buffer[82]; printf("Введите 10 строк данных\n"); for (j=0; j<MAXL; ++j) { printf("Строка: %d\n", j+1); if (!fgets(buffer,80,stdin)) break; line[j]=malloc(strlen(buffer)+1); strcpy(line[j],buffer); } printf("\n\n Сортируем 10 строк из stdin:\n"); qsort(line, j, sizeof(unsigned char *), comp); for (k=0; k<j; ++k) printf("Строка: %d%s\n", k+1,line[k]); }