Сортиране - сортиране в C

Функцията за сортиране сортира контейнера на полуинтервала [първи, последен), използвайки сортирането на библиотеката IntroSort. Това сортиране гарантира най-доброто време за сортиране.Библиотека алгоритъмМетоди за извикване на функцията шаблон недействително сортиране ( RandomAccessIterator първо, RandomAccessIterator последно );

шаблон недействително сортиране (първи RandomAccessIterator, последен RandomAccessIterator, Compare comp);

  • first - итератор към първия елемент
  • last - итератор към последния елемент
  • comp - компаратор, по който ще се сортират елементите в контейнера

Трудност

, където n е дължината на сортирания сегмент.

Примери #include #include #include #define NMAX 4000000 using namespace std; int arr[NMAX]; вектор vec(NMAX); int comp(int a, int b) return a - b; > int main() sort(arr, arr + NMAX); //сортиране на целия масив sort(vec.begin(), vec.end()); //сортирай целия вектор sort(arr, arr + NMAX, comp); //сортирай масива по компаратор върни 0; >Забележки Добър избор за почти всички случаи. Това е отлична реализация на IntroSort. Само сортирането по ключ, като числово или броене, работи по-добре. Използването на компаратор позволява сортиране на елементи, за които операциите за сравнение не са дефинирани по подразбиране, или сортиране на елементи в ред, различен от стандартния. По този начин, с помощта на компаратори, можете да сортирате вашите структури или да сортирате числа по паритет например.