std::sort

Ordena os elementos no intervalo [first, last) usando o operador < ou uma função de comparação personalizada. Utiliza introsort, uma combinação de quicksort, heapsort e insertion sort para garantir eficiência.

  • Cabeçalho: <algorithm>
  • Assinatura:
sort(RandomIt first, RandomIt last);
sort(RandomIt first, RandomIt last, Compare comp);
  • Parâmetros:
    • first, last - Iteradores que definem o intervalo a ser ordenado.
    • comp - Função de comparação que retorna true se o primeiro elemento for menor que o segundo.
  • Retorno: Nenhum (void).
  • Exceções: Pode lançar exceções de cópia, movimentação ou da função de comparação.
  • Versão: C++98
  • Performance: O(N log N)
  • Exemplo:
#include <vector>
#include <algorithm>
int main() {
    std::vector<int> vec = {5, 2, 9, 1, 5};
    std::sort(vec.begin(), vec.end()); // Ordena: {1, 2, 5, 5, 9}

    auto comp = [](int a, int b) { return a > b; };
    std::sort(vec.begin(), vec.end(), comp); // Ordem decrescente: {9, 5, 5, 2, 1}
    return 0;
}