• [c++] STL 标准算法


    • _if
     1 #include <iostream>
     2 #include <vector>
     3 #include <algorithm>
     4 using namespace std;
     5 
     6 int main(int argc,char* argv[]){
     7     vector<int> vecSalary;
     8     cout<<"请输入工资数据,0表示输入结束"<<endl;
     9     int nSalary = 0;
    10     do{
    11     cin>>nSalary;
    12     if(0==nSalary)
    13     break;
    14     vecSalary.push_back(nSalary);    
    15     }while(true);
    16     int nTotal = count_if(vecSalary.begin(),vecSalary.end(),
    17     bind2nd(greater<int>(),1000));
    18     cout<<"工资超过1000的员工有"<<nTotal<<""<<endl;
    19     return 0; 
    20 }

    • 泛型编程(generic programming):大量应用模板实现代码重用的编程方式
    • 与面向对象编程不同,泛型编程不要求我们通过额外的间接层来调用函数
    • 通过模板机制,构建一类操作类似但数据类型不同的程序,包括函数模板和类模板
    • 泛型算法库STL是泛型编程的代表作,以迭代器和容器为基础,将算法和数据结构完全分开 
    • 容器可以管理算法要处理的大量特定类型数据
    • 容器是一些数据结构的模板类,需要实例化后使用
    • 为提高内存操作的性能,优先在容器中存放对象的指针
    • vector是最常用的容器,是数组的最佳替代者
    • STL算法的“四大帮派”:
      • 不改变顺序的操作:for_each(),find(),count(),mismatch(),equal(),search()
      • 改变顺序的操作:copy(),swap(),transform(),replace(),fill()
      • 排序操作:merge(),binary search()
      • 数字操作:inner product(),partial sum()

  • 相关阅读:
    WebService学习--(一)webservice相关概念
    根据日期推断某天某周某日
    Eclipse快捷键
    Java IO学习--(五)字节和字符数组
    Java IO学习--(四)网络
    Java IO学习--(三)通道
    Java IO学习--(二)文件
    Java IO学习--(一)概述
    JVM学习--(八)java堆分析
    Linux加密、安全版块、root密码破解
  • 原文地址:https://www.cnblogs.com/cxc1357/p/11973091.html
Copyright © 2020-2023  润新知