- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计与问题求解
——标准模板库(STL)简介
标准模板库(STL)
Standard Template Library
容器(containers )
list (双向链表)、vector (类似于大小可动态增加的顺序表
)、queue (队列)、stack (栈)、string
算法(algorithms )
迭代器(iterators )
STL的特点
STL是以容器和迭代器为基础的一种泛型算法 (Generic Algorithms )库
所谓泛型 (Genericity )是指能够在多种数据类型上进行操作
算法是泛型的,不与任何特定的数据结构或对象类型系在一起
容器是泛化的,它可以是数组、向量、链表、集合、映射、队列、栈、字符串等等,容器中
包含的元素对象可以是任意数据类型,容器提供迭代器用来定址其所包含的元素
迭代器是泛型的指针,是一种指向其他对象的对象,迭代器能够遍历由对象所形成的序列区
间(Range )。迭代器将容器与作用其上的算法分离,大多数的算法自身并不直接操作于容
器上,而是操作于迭代器所形成的区间中
在vector中插入删除元素
#includeiostream
#includevector
using namespace std;
int main()
{
vectorint v1;
v1.push_back(0); // v1元素为 0
v1.push_back(1); // v1元素为 0 ,1
v1.push_back(2); // v1元素为 0 ,1 ,2
v1.pop_back(); //删除尾部 2
v1.erase(v1.begin()); //删除头部 0
coutv1[0];
return 0;
}
访问vector中的元素
#includeiostream
#includevector
using namespace std;
int main()
{
vectorint v1;
v1.push_back(0); // v1元素为 0
v1.push_back(1); // v1元素为 0 ,1
v1.push_back(2); // v1元素为 0 ,1 ,2
v1[3]=10; // 超界错误,无效语句
for(int i=0; iv1.size(); i++) // size()计算元素个数
coutv1[i] ; // 用[下标]方式访问
v1[2]=10; // 用[下标]方式修改
coutendl;
vectorint::iterator it;
for(it=v1.begin(); itv1.end(); it++)
if(*it%2==0) cout*it ; //用迭代器访问,仅输出偶数
return 0;
}
stack的简单使用
#includeiostream
#includestack
using namespace std;
int main()
{
stackint s;
int arry[4]={1,2,3,4};
for(int i=0;i4;i++)
s.push(arry[i]); // 入栈
您可能关注的文档
最近下载
- 传承与创新——中国近现代美术 课件-2024-2025学年高中美术人教版 (2019) 必修美术鉴赏.pptx VIP
- 【国联证券-2024研报】固态电池系列报告一:硫化物固态电池产业化提速.pdf VIP
- 医学知识一内分泌总论第八版.pptx
- WebOP Designer 程序下载方式.pptx
- 统编版高中语文选择性必修教材单元研习任务研究.pdf
- 内科学泌尿系统肾小球疾病概述课件.pptx VIP
- 守住光明照亮未来(预防近视主题班会)课件.pptx VIP
- 湘教版八年级地理上册练习题(全册,含答案).pdf VIP
- 辽宁机电职业技术学院职测考试题库(考前急训).docx
- 医院内科肾内科医生面试题及参考答案结构化面试题.docx VIP
文档评论(0)