C++ STL概述
C++ 中包含了一个叫做STL(Standard Template Library),也就是我们常说的C++标准模板库,又称为C++泛型库,他在std中命名
了一些我们常用的数据结构和算法,在做题中使用起来是非常方便的。
STL提供了三种类型的组件:容器,迭代器和算法。他们都支持泛型的程序设计标准。
A)容器主要有两类:顺序容器和关联容器。
1.常用的顺序容器有:vector,list,deque,string...
2.常用的关联容器有:set,multiset,map和multimap包含查找元素的健值。
B)迭代器的只要作用还是用来遍历容器的.
C)STL中包含的算法有四类:
1.排序算法.
2.不可变序算法.
3.变序算法.
4.数值算法.
C++ STL泛型编程示例:
用vector向量容器中装入10个整数后,然后,使用迭代器iterator和accumulate算法统计出这10个元素的和.
//cin,cout需要 # include<iostream> //vectot需要 # include<vector> //accumulate算法需要 # include<numeric> using namespace std; int main(void) { vector<int>v;//定义了一个向量容器vector for ( int i = 0;i < 10;i++ ) { //采用尾部元素的扩张方式来进行赋值 v.push_back(i); } vector<int>::iterator it;//使用iterator迭代器来顺序遍历所有元素 for ( it = v.begin();it != v.end();it++ ) { //输出迭代器当前位置上的元素值 cout<<*it<<" "; } cout<<endl; //统计并且输出所有向量元素的和 cout<<accumulate(v.begin(),v.end())<<endl; return 0; }