STL入门
STL入门
STL的组成
六大组件
容器container
算法algorithm
迭代器iterator
仿函数function object
适配器adaptors
空间配制器allocator
产生一个vector容器,并打印
#include <iostream>
#include <vector>//容器
#include <algorithm>//算法 template<class T>//实现一个类模板,专门实现打印的功能
class myvectorprint
{
public:
void operator()(const T &t)//重载()
{
std::cout << t << std::endl;
}
}; void main()
{
std::vector<int> myvector; myvector.push_back();
myvector.push_back();
myvector.push_back();
myvector.push_back();
myvector.push_back(); myvectorprint<int>print;//对于打印进行实例化 for_each(myvector.begin(), myvector.end(), print);
}
产生一个array容器,并打印
#include <iostream>
#include <array>//容器
#include <algorithm>//算法 template<class T>//实现一个类模板,专门实现打印的功能
class myvectorprint
{
public:
void operator()(const T &t)//重载()
{
std::cout << t << std::endl;
}
}; void main()
{ std::array<int, >myarray = { ,,,,,,,,, }; myvectorprint<int>print;//对于打印进行实例化 //begin,end是迭代器
for_each(myarray.begin(), myarray.end(), print);//算法可以适用于任何容器,for_each是一个算法
}
容器container
容易的分类
1 序列式容器sequence containers
每个元素都有固定位置-取决于插入时机的地点,和元素值无关。
比如vector, deque, list
2 关联式容器associated containers
元素位置取决于特定的排序准则,和插入的顺序无关。
比如set, multiset, map, multimap
vector
vector在堆上
将元素置于一个动态数组中加以管理。
可以随机存取元素(用索引直接存取)
数据尾部添加或移出元素非常快速。但是在中部或头部安插元素比较费时。
STL入门的更多相关文章
- 20140725 快速排序时间复杂度 sTL入门
1.快速排序的时间复杂度(平均时间复杂度为) 数组本身就有序时,效果很差为O(n^2) 2.STl入门 (1) C++内联函数(inline)和C中宏(#define)区别 内联函数有类型检查,宏定义 ...
- STL入门大全(待编辑)
前言:这个暑假才接触STL,仿佛开启了新世界的大门(如同学完结构体排序一般的快乐\(≧▽≦)/),终于彻底领悟了大佬们说的“STL大法好”(虽然我真的很菜www现在只学会了一点点...)这篇blog主 ...
- 跟我学STL系列(1)——STL入门介绍
一.引言 最近这段时间一直都在自学C++,所以这里总结下自己这段时间的学习过程,通过这种方式来巩固自己学到的内容和以备后面复习所用,另外,希望这系列文章可以帮助到其他自学C++的朋友们. 由于本人之前 ...
- 【c++】标准模板库STL入门简介与常见用法
一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部 ...
- [技术] OIer的STL入门教程
注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...
- [技术] OIer的C++标准库 : STL入门
注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...
- STL 入门 (17 暑假集训第一周)
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...
- stl入门--reverse函数
#include<iostream> #include<algorithm> using namespace std; int main() { ch ...
- STL入门2
1:给出n个字符串,输出每个字符串是第几个出现的字符串?多组数据 2:对每组数据,第一行输入n表示接下来有n个字符串 1 <= n <= 100000接下来的n行,每行输入一个非空的且长度 ...
随机推荐
- 瑞柏匡丞:用全局观开发App
不管是互联网金融还是生活服务,移动端APP开发都是各大商家关注的重点.众多研发机构的涌入,使得APP的市场环境已经再无技术壁垒可言.在APP市场中,神州锐达的研发水准和客户认同度,一直受到业内人士的称 ...
- 服务器放在不同省份的IDC机房,数据如何同步?一个域名如何动态解析到不同IP的服务器
服务器放在不同省份的IDC机房,数据如何同步?淘宝的做法是不同IDC机房之间拉光纤,异地容灾和性能无关,异地容灾是应对断电.地震这种不可抗拒因素的 同城分流,异地容灾 是什么意思?你比如说公司的业务涉 ...
- 关于 Private strand flush not complete
网友发来告警日志,原本是关于一个死锁的情形,而另外的一个问题则是从redo log buffer写出到redo log file出现了不能分配新的日志,Private strand flush not ...
- MVC实用架构设计:总体设计
http://developer.51cto.com/art/201309/410166.htm
- hpux操作系统的关机与重新启动命令
关机 shutdown -hy 0 重新启动: shutdown -ry 0
- 从Android Handler内部类到WeakReference的知识关联
Handler: 普通使用方法: Handler用于处理和从队列MessageQueue中得到Message.一般我们要重写Handler的handleMessage(Message msg){}方法 ...
- 求斐波那契数列的第n项
问题描述:斐波那契数列是这样的一个数列,1,1,2,3,5,8,..,即前两项都是1,后面每一项都是其前面两项的和. 现在要你求出该数列的第n项. 分析:该问题是一个经典的数列问题,相信大家在很多语言 ...
- 【高精度递推】【HDU1297】Children’s Queue
Children's Queue Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- Java - 注解 (Annotation)
Java - 注解 (Annotation) 一.基本的 Annotation > 使用 Annotation 时要在其前面增加 @符号,并把该 Annotation 当成一个修饰符 ...
- 天坑 之 java web servlet+jsp项目 配置后 404 (MyEclipse转eclipse)
最近搞一个自己的博客系统玩,用了servlet+jsp,结果发现了两个大问题: 1.无法 Export 出 WAR文件: 2.生成WAR,放置到TOMCAT的 webapps目录后,http://lo ...