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.