Normalmente estudamos algoritmos para ordenar vetores, mas dificilmente para embaralhar. Apesar disso existem dois STL Algorithms para embaralhar containers não ordenados. Obviamente esses algoritmos não funcionam com containers ordenados, como std::map, std::set ou std::list, por exemplo, mas funciona muito bem com std::vector, ou mesmo arrays padrão C.
(mais…)Tags: STL Algorithms
É normal precisar selecionar o mínimo e o máximo de um conjunto de dados, e a STL conta com funções específicas para determinar mínimos e máximos, alguns referem-se a valores discretos, outros a faixas de valores em containers.
(mais…)As funções de permutações do STL são utilizadas para criar permutações de um conjunto de dados, ou seja exibir, uma a uma, todas as possibilidades de distribuição de dados. Pode ser muito útil em diversa aplicações.
(mais…)Mais um post sobre STL Algorithms, semana passada foram dois posts referentes a assuntos complementares, hoje o post é sobre fazer pesquisa utilizando std::find e std::search.
(mais…)No post anterior falamos sobre std::for_each. Mas percebeu que não dá pra alterar o conteúdo do container dessa forma? A solução é o std::tranform. Vamos começar com um exemplo de como o for_each não funciona. Um programa para incrementar todos os elementos de um std::list:
(mais…)C++ tem várias opções de iteração. Desde o C++98 existe o algoritmo for_each disponível. Basicamente o que este algoritmo faz é executar uma função a todos os elementos contidos em um tipo iterável, tal como um std::vector, ou um std::map, dentre diversos outros.
(mais…)