C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 qsort / q / Библиотечн. функции Borland C++

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

Синтаксис          #include<stdlib.h>
                   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 возвращает:
                   --------------------------------------------------
                   *elem1<*elem2          целое <0
                   *elem1==*elem2         0
                   *elem1>elem2           целое >0
                   --------------------------------------------------

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

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

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

Смотрите также     bsearch, lsearch.

Пример:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

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<5, x++)
    printf("%s\n",list[x]);
}

int sort_function(const void *a,const void *b)
{
   return(strcmp(a,b));
}


Вывод:
cab
can
cap
car
cat