Sort - сортування у C

Функція sort сортує контейнер на напівінтервалі [first, last) за допомогою бібліотечного сортування IntroSort. Це сортування гарантує найкращий час сортування.Бібліотека algorithmСпособи виклику функції template void sort (RandomAccessIterator first, RandomAccessIterator last);

template void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);

  • first – ітератор на перший елемент
  • last – ітератор на останній елемент
  • comp — компаратор, згідно з яким буде проведено сортування елементів у контейнері

Складність

, де n - Довжина сортованого відрізка.

Приклади #include #include #include #define NMAX 4000000 using namespace std; int arr[NMAX]; vector 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); //Сортую масив за компаратором return 0; >Зауваження Хороший вибір практично всіх випадків. Є чудовою реалізацією IntroSort. Найкраще працюють тільки сортування на основі специфіки ключа, такі як цифрове сортування або сортування підрахунком. Використання компаратора дає можливість сортувати елементи для яких за умовчанням не визначено операції порівняння або сортувати елементи в порядку, відмінному від стандартного. Таким чином за допомогою компараторів ви зможете сортувати свої структури або сортувати числа по парності, наприклад.