Algoritmi STL

Header-ul <algorithm> conține zeci de algoritmi gata implementați.

algorithms.cpp
#include <algorithm>
#include <vector>
using namespace std;

vector<int> v = {5, 2, 8, 1, 9, 3};

sort(v.begin(), v.end());             // {1,2,3,5,8,9}
reverse(v.begin(), v.end());          // {9,8,5,3,2,1}

int mn = *min_element(v.begin(), v.end());  // 1
int mx = *max_element(v.begin(), v.end());  // 9

int cnt = count(v.begin(), v.end(), 5); // câte apariții are 5

// Căutare binară (doar pe array sortat!)
sort(v.begin(), v.end());
bool gasit = binary_search(v.begin(), v.end(), 8); // true
AlgoritmDescriereComplexitate
sortSortareO(n log n)
findCăutare liniarăO(n)
binary_searchCăutare binarăO(log n)
countNumăr aparițiiO(n)
reverseInversareO(n)
uniqueElimină duplicate consecutiveO(n)
accumulateSumă/produsO(n)