C++中vector和list常用函数介绍:front()、insert()等
容器
name(start,end); 创建了元素 在指定范围内的向量,start代表起始范围, end代表结束范围。(构造一个初始值为
start,end)区间元素的)
构造一个包含5个值为42的元素的 vec( 5, 42 );
list常用函数
front() 返回第一个元素 (i,x) 把x插入链表中由迭代器i所指明的位置 (i,start,end) 把迭代器start和end所辖范围内的元素插 入到链表中由迭代器所指明的位置 (i,n,x) 把x的n个副本插入链表中由迭代器i指明的位置 () 返回list所能容纳元素的最大数量(上限) () 移除最后一个元素 () 移除第一个元素 (x) 在list最后添加一个元素x (x) 在list最前面添加一个元素x () 返回list尾部的逆迭代器 rend() 返回list起始的逆迭代器 ( size) 设置list最小的元素容纳数量 ( size, TYPE val ) 改变当前list的大小为size,且 对新创建的元素赋值val size() 返回list元素数量的大小 swap(list &from) 当前list与list from的元素
容器
标准容器库的头文件 使用STL容器或容器适配器,要包含定义该容器模板类头 文件。这些头文件的内容都在std名字空间域中,程序中 必须加以说明。
标准容器库的头文件
头文件
说明 两端队deque的头文件 表list的头文件 映射map和多重映射的头文件 集合set和多重集合的头文件 队queue和优先级队列的 头文件 栈stack的头文件 向量的头文件
迭代器
算法
容器
容器用来存储数据
Set/
deque
Map/ list
容器
容器的分类 顺序容器( )序列式容器 每个元素都有固定位置--取决于插入时机和地点, 和元素值无关。 、deque、list 关联容器( ) 元素没有固定位置,每个元素位置取决于容器自己 特定的排序规则,与键值有关,与插入顺序无关。 set、、map、
创建deque对象
deque name; deque name(size); 创建具有size元素个 数的deque对象 deque name(size,value); 创建具有size 元素个数的deque对象,并将对象的初始值设为 value deque name(); 采用拷贝构造函 数,用现有的双端队列创建一个deque 对象
标准模板库
标准模板库简介 容器 迭代器 算法
标准模板库简介(STL)

库()是一系列程序组件的集合,它们可以 在不同的程序中重复使用。库函数设计的第一位 的要求就是通用性,模板()为通用性带 来了不可估量的前景,我们可以在使用模板时才 对某些类型作选择。
标准模板库( )是 ANSI/ISO C++最有特色、最实用的部分之一。 STL包含了容器()、算法 ()、迭代器()和三个部分。
练习
编写程序,从标准输入设备读入若干对象, 并将它们存储在一个对象中,然后输出该 对象中的所有元素。
练习 编写程序,生成一个从10到0倒序排序的 ,需用到的back函数
双端队列类deque 类似。但是支持高效地在首部插入和删除 元素。 在需要时可以改变其大小。
常用函数
常用函数 (first, last) 用迭代器first和last所辖范围内的元素替 换向量元素 (num, val) 用val的num个副本替换向量元素 at(n) 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 () 返回所能容纳的元素数量(在不重新分配 内存的情况下) clear() 清空所有元素 empty() 判断是否为空(返回true时为空) end() 返回最末元素的迭代器(实指向最末元素的下一个位 置)
deque常用函数 front() 返回第一个元素 (i,x) 把x插入双端队列中由迭代器i所指明的位置 (i,start,end) 把迭代器start和end所辖范围内的元 素插入到双端队列中由迭代器所指明的位置 (i,n,x) 把x的n个副本插入双端队列中由迭代器i所 指明的位置 () 返回deque所能容纳元素的最大数量(上限) () 移除最后一个元素 () 移除第一个元素 (x) 在deque最后添加一个元素x (x) 在deque最前面添加一个元素x () 返回deque尾部的逆迭代器 rend() 返回deque起始的逆迭代器 ( size) 设置deque最小的元素容纳数量 ( size, TYPE val ) 改变当前deque的大小 为size,且对新创建的元素赋值val size() 返回deque元素数量的大小 swap(deque &from) 当前deque与deque from的元素
创建deque对象
deque name(start,end); 创建 了元素在指定范围内的双端队列,start 代表起始范围,end代表结束范围
deque常用函数 (first, last) 用迭代器first和last所辖范围内的元素替换双 端队列元素 (num, val) 用val的num个副本替换双端队列元素 at(n) 返回指定位置的元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 () 返回deque所能容纳的元素数量(在不重新分配内存 的情况下) clear() 清空所有元素 empty() 判断deque是否为空(返回true时为空) end() 返回最末元素的迭代器(实指向最末元素的下一个位置) erase(start,end) 删除迭代器start和end所辖范围内的双端队 列元素 erase(i) 删除迭代器i所指向的双端队列元素
创建list对象 list name(start,end); 创建了 元素在指定范围内的链表,start代表 起始范围,end代表结束范围
list常用函数 (first, last) 用迭代器first和last所辖范围内的元 素替换链表元素 (num, val) 用val的num个副本替换链表元素 back() 返回最末一个元素 begin() 返回第一个元素的迭代器 clear() 清空所有元素 empty() 判断deque是否为空(返回true时为空) end() 返回最末元素的迭代器(实指向最末元素的下一 个位置) erase(start,end) 删除迭代器start和end所辖范围内 的链表元素 erase(i) 删除迭代器i所指向的链表元素
标准模板库简介
STL基础组件关系 容器() - 某类对象的集合 迭代器() - 在对象集合上进行遍历 算法() - 处理集合内的元素 容器提供迭代器,算法使用迭代器,通过迭代器操 作容器里的元素。迭代器使得容器和算法相互独立。
容器
容器
向量类
支持随机访问迭代器,所有STL算法都能对 操作。 随机访问时间为常数。在尾部添加速度很快, 在中间插入慢。实际上就是动态数组。 是大小可变的向量,在需要时可以改变其大 小。
容器
创建对象 name; name(size); 创建具有size元素个数的 对象 name(size,value); 创建具有size元素 个数的对象,并将对象的初始值设为value name(); 采用拷贝构造函数, 用现有的向量创建一个对象
erase(start,end) 删除迭代器start和end所辖范围内的向量元素 erase(i) 删除迭代器i所指向的向量元素 front() 返回第一个元素 (i,x) 把x插入向量中由迭代器i所指明的位置 (i,start,end) 把迭代器start和end所辖范围内的元素插入到 向量中由迭代器所指明的位置 (i,n,x) 把x的n个副本插入向量中由迭代器i所指明的位置 () 返回所能容纳元素的最大数量(上限) () 移除最后一个元素 (x) 在最后添加一个元素x () 返回起始的逆迭代器 ( size) 设置最小的元素容纳数量 ( size, TYPE val ) 改变当前的大小为size,且 对新创建的元素赋值val size() 返回元素数量的大小 swap( &from) 当前与 from的元素
























