STL模板库在ACM中的应用(I)

  一ACM和STL简介

    1.ACM全称世界大学生程序设计竞赛 主办方是美国计算机协会(acm)  。参赛选手需在给定时间内自行设计编写算法来完成给定的题目。具体介绍请点连接:ACM


     2.STL(Standard Template Library)是C++语言标准的重要组成部分。STL以模板类和模板函数的形式为程序员提供各种数据结构和算法的精巧实现,程序员如果能够充分利用STL,可以在代码空间、执行时间、编码效率上带来极大的好处。


 二STL的分类

STL大致可以分为3类:算法(algorithm)、容器(container)、迭代器(iterator)


1.算法(algorithm)

STL算法是一些模板函数,提供了很多有用的算法和操作,从简单的(如for_each 遍历)到复杂的(如sort)


2.容器(container)

STL容器是一些模板类,提供了很多组织数据的常用方法,例如vector(向量,类似于数组),list,deque,set,map,stack,queue,priority_queue等,而且通过指定参数我们可以指定容器中的元素类型。


3.迭代器(iterator)

STL迭代器是对C中指针的一般化,用来将算法和容器联系起来。几乎所有的STL算法都是通过迭代器来存取元素序列进行工作的,而STL中每一个容器都定义了其本身所转悠的迭代器,用来存取容器中的元素。另外普通的指针也可以像迭代器来工作。


三STL的使用

在C++标准中,STL被组织为以下的一组头文件(注意没有.h):

algorithm / iterator / list / map / vector / map / memory ........

当我们需要使用STL的某些功能的时候,需要嵌入相应的头文件:如要引入algorithm,则在程序开头加入#include <algorithm>



最后,在有了一些使用STL的经验之后 可以阅读一些相关的书籍 如《C++ STL》来加深理解。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值