Sobes.tech
Junior

Қай алгоритмии сортинг дар функсияи sort истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Дар китобхона стандартии C++ функсияи std::sort одатан бо истифода аз алгоритми Introsort (Сортировкаи интроспективӣ) амалӣ мешавад. Ин алгоритми гибридӣ мебошад, ки дар бар мегирад:

  • Сортинг бо Quicksort барои бештар ҳолатҳо
  • Heapsort (Сортинг бо кӯҳҳо) агар амиқи рекурсия хеле калон шавад (барои пешгирӣ кардани ҳолати бадтарин дар Quicksort)
  • Insertion Sort (Сортинг бо ворид кардан) барои субмасивҳои хурд

Introsort дар миёнаи умумӣ иҷрои хуби Quicksort-ро таъмин мекунад ва кафолат медиҳад, ки дар бадтарин ҳолат O(n log n) бошад, бо кӯмак аз гузаштан ба Heapsort.

Масалан барои истифодаи std::sort:

#include <algorithm>
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v = {5, 3, 2, 4, 1};
    std::sort(v.begin(), v.end());
    for (int n : v) {
        std::cout << n << ' ';
    }
    return 0;
}

Аз ин рӯ, std::sort алгоритми баландсифатест, ки асос ёфтааст ба Introsort.