`

c++通用算法-count

    博客分类:
  • c++
阅读更多
#include<algorithm>
#include<functional>
#include<iterator>
#include<set>
#include<vector>
#include<iostream>
using namespace std;

template<typename T>
void print(const T& t){
    typename T::const_iterator iter;
    for(iter=t.begin();iter!=t.end();++iter){
        cout << *iter << endl;
    }
}

int main(){
    vector<char> v(5);
    fill(v.begin(),v.end(),'v');
    set<char> cs(v.begin(),v.end());
    typedef set<char>::iterator sci;
    for(sci it=cs.begin();it!=cs.end();++it){
        int n = count(v.begin(),v.end(),*it);//统计有多少个*it(第一个元素)
        cout << *it << ":" << n << ",";
    }
    int lc = count_if(v.begin(),v.end(),bind2nd(greater<char>(),'a'));//统计小写字母个数
    cout << "\nLowercase letters:" << lc << endl;
    sort(v.begin(),v.end());
    print(v);
}

v:5,
Lowercase letters:5
v
v
v
v
v
分享到:
评论

相关推荐

    c++ 标准类库中几个简单的通用算法

    本篇将重点讨论C++标准类库中几个简单但实用的通用算法,这些算法在处理数据集合时能够大大提升开发效率和代码质量。 首先,我们要了解的是`vector`,这是C++中最常用的一种动态数组。`std::vector`可以容纳任意...

    C++Primer第11章-泛型算法-课后习题答案[收集].pdf

    在C++编程中,泛型算法是用于处理各种不同数据结构(如数组、向量、列表等)的一组通用函数,这些函数不依赖于特定的数据类型。本篇内容主要涉及了两个重要的泛型算法——`count`和`accumulate`,以及如何在实际编程...

    c++语言STL - 迭代器部分讲解(大连理工资深教授)

    C++标准模板库(Standard Template Library,简称STL)是C++的一个强大工具包,它提供了一系列通用的数据结构和算法,极大地提高了程序开发效率。STL由六大核心组件构成: 1. **容器(Containers)**:存储数据的...

    c++非变易算法-stl算法

    - **元素统计算法**:如`count`,用于计算区间内满足特定条件的元素数量,或者`count_if`,用于计算满足谓词条件的元素数量。 - **序列匹配算法**:如`equal`,用于检查两个序列是否相等,或者`search`,用于在一个...

    C++STL算法函数及作用大全总结

    `for_each`是一种通用的迭代器算法,它接受一个输入迭代器范围和一个函数对象,然后对区间内的每个元素调用该函数对象。这通常用于对容器中的所有元素执行某种操作,如打印、转换等。例如: ```cpp #include #...

    C++数据结构排序算法

    比较排序算法的时间复杂度通常高于非比较排序,但它具有通用性和稳定性。 1. 直接插入排序(Straight Insertion Sort) 直接插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对未排序的数据,...

    c++stl算法技术

    C++ STL(Standard Template Library,标准模板库)中的算法是一系列高效且通用的函数模板,它们可以方便地操作各种容器中的元素。非变异算法是这些算法中的一类,它们不会改变原有数据的顺序或值,而是对数据进行...

    C ++ 中通用RANSAC算法的实现_C++_代码_下载

    在C++中实现通用RANSAC算法,主要是为了处理那些包含异常值(outliers)的数据集,通过迭代找到一个最佳模型,该模型能够最好地解释大部分正常数据(inliers)。下面我们将详细探讨RANSAC算法的基本原理、步骤以及在...

    容器通用算法和迭代器

    STL中的通用算法是一系列独立于容器的函数,可以用于处理各种容器内的元素。常见的通用算法有: 1. `std::sort`:对容器内的元素进行排序。 2. `std::find`:查找容器中是否存在特定元素。 3. `std::count`:统计...

    汽车加油问题(贪心算法)c++

    ### 汽车加油问题(贪心算法)C++ #### 问题背景 在解决实际问题时,算法的设计显得尤为重要。本篇文章将详细探讨一个经典的计算机科学问题——“汽车加油问题”,该问题通过贪心算法来解决。问题的核心是确定如何...

    C++ stl 详细讲解-C++ stl 详细讲解

    - **定义**:STL是一种标准模板库,它为C++程序设计者提供了一系列通用的数据结构和算法。这些数据结构和算法以模板的形式存在,能够适应多种不同类型的数据。 - **特点**:STL是跨平台的,可以在不同的操作系统和...

    C++学院stl进阶课程讲义

    而算法如sort、find、count、copy、transform等,提供了对容器中数据进行操作的多种方法。迭代器则是在容器与算法之间建立联系的桥梁,它们是泛化的指针,允许算法在不同类型的容器上进行操作。 通过本课程的学习,...

    c++标准库STL手册

    - **通用算法**:如`transform()`, `accumulate()`, `count()`, `min_element()`, `max_element()`等,提供了丰富的通用操作。 4. **函数对象(Functors)** - 函数对象是具有`operator()`的类,可以作为参数传递...

    STL所有算法介绍

    - **排序和通用算法**:如`inplace_merge`、`merge`、`nth_element`、`partial_sort`、`partial_sort_copy`、`partition`、`random_shuffle`、`reverse`、`reverse_copy`、`rotate`、`rotate_copy`、`sort`、`stable...

    用C++运行的时间片轮算法

    根据给定的文件信息,我们可以总结出以下关于“用C++实现的时间片轮算法”的相关知识点: ### 时间片轮算法简介 时间片轮算法(Round Robin Scheduling Algorithm),是一种简单的进程调度策略,它将所有等待执行...

    c++程序员招聘笔试大全(详解).doc

    ### C++程序员招聘笔试知识点详解 #### 一、单向链表的反转 单向链表的反转是一个经典的面试题目,对于理解链表的基本操作非常重要。链表是一种常见的线性数据结构,每个元素由两部分组成:数据部分和指向下一个...

    STL通用算法

    标题:“STL通用算法” 描述:“STL的一些通用算法,find、search等” 知识点详述: **一、非可变序列算法** 非可变序列算法指的是那些不会直接修改其所操作的容器内容的算法,主要涉及查找、计数、比较等功能。...

    IBM XL C/C++ for AIX, V11.1 Standard C++ Library Reference

    `&lt;algorithm&gt;`头文件是C++标准库中极为重要的一部分,它包含了许多通用算法的实现,如排序、查找等。 - **Description**:`&lt;algorithm&gt;`头文件提供了大量实用且高效的算法,它们可以应用于任意容器,极大地提高了...

    C++经典代码大全(超级详细)

    模板是C++中一种强大的特性,它允许程序员编写通用的代码。模板可以应用于函数或类。 ```cpp template T max(T a, T b) { return (a &gt; b) ? a : b; } // 使用示例 int maxInt = max(5, 3); // 返回5 double max...

    C++_标准模板库(STL) pdf 高清版

    3. 算法:STL提供了一系列通用的算法,这些算法可以作用于任何容器上的元素。例如: - `sort`:对容器中的元素进行排序。 - `find`:寻找特定元素的第一个出现位置。 - `count`:计算容器中特定元素的数量。 - `...

Global site tag (gtag.js) - Google Analytics