教案2C++ STL.pdf
文本预览下载声明
C++ STL
郑珺浙江传媒学院
C++ STL
(Standard Template Library)
• 容器
– 顺序容器:vector 、list、stack、queue、
priority_queue、deque、string
– 关联容器:set、multiset、map、multimap
• 迭代器:作用是遍历容器
• 算法:排序算法、不可变序算法、变序性算
法、数值算法
• 程序前需添加using namespace std;
郑珺浙江传媒学院
C++ STL
• 1 容器
• 2 算法
郑珺浙江传媒学院
1 容器
• 1.1 vector
• 1.2 stack
• 1.3 queue
• 1.4 priority_queue
• 1.5 deque
• 1.6 list
• 1.7 set
• 1.8 multiset
• 1.9 map
• 1.10 multimap
• 1.11 string
郑珺浙江传媒学院
1.1 vector
• 可代替数组
郑珺浙江传媒学院
构造方法
• vectorint v;
• vectordouble v(10); //可以存储10个double
元素
• vectordouble v(10,8.6); //可以存储10个
double元素,每个的初值都是8.6
郑珺浙江传媒学院
vector元素的访问
• 下标方式访问:如v[0] 、v[2]
• 用迭代器访问
vectorint::iterator it;
for(it=v.begin();it!=v.end();it++)
cout*itendl;
郑珺浙江传媒学院
(1)
• push_back
– void push_back( const TYPE val ) 添加值为val 的元素到末尾
• insert
– iterator insert( iterator loc, const TYPE val ); 在指定位置loc前
插入值为val 的元素,返回指向这个元素的迭代器。v.insert(v.begin(),8)
//头部插入8 v.insert(v.begin()+2,3) //第二个位
置插入3
v.insert(v.end(),9) //尾部插入9
– void insert( iterator loc, size_type num, const TYPE val ); 在指定位
置loc前插入num个值为val 的元素
– void insert( iterator loc, input_iterator start, input_iterator end );
在指定位置loc前插入区间[start, end)的所有元素
• erase
– it
显示全部