Sobes.tech
Junior

sort funksiyasında hansı sıralama alqoritmi istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

C++ standart kitabxanasında, std::sort funksiyası adətən Introsort (İntrospektiv Sıralama) algoritmindən istifadə etməklə həyata keçirilir. Bu, aşağıdakıları birləşdirən hibrid algoritmdir:

  • Əksər hallarda Quicksort (Sürətli Sıralama)
  • Rekursiya dərinliyi çox böyük olarsa Heapsort (Yığın Sıralama)
  • Kiçik alt massivlər üçün Insertion Sort (Əlavə Sıralama)

Introsort, orta hesabla Quicksort-un yaxşı performansını təmin edir və ən pis halda O(n log n) zəmanət verir, bu da Heapsort-a keçməklə mümkün olur.

std::sort-un istifadəsinə nümunə:

#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;
}

Beləliklə, std::sort Introsort-ə əsaslanan yüksək performanslı algoritmdir.