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行,每行输入一个非空的且长度 ...
随机推荐
- for、foreach和MoveNext循环效率粗比较
今天没事对for循环.foreach循环.MoveNext循环,执行效率进行了对比:粗略测试代码如下: static void Main(string[] args) { #region 三种方式循环 ...
- Hide a file in a picture
有时候.假设你想在电脑上隐藏关键的文件而不想让其它人看见.你会怎么做呢?找一个专业的工具?为目录设置password?更改文件属性?这些方法可行.但它们可能不太方便和安全.这里,我给大家共享一个在图片 ...
- Android launcher3 开发初始篇
版本号:1.0 日期:2014.8.26 2014.8.27 2014.11.10 版权:© 2014 kince 转载注明出处 好久没有写博客,也是由于工作比較忙的关系.当然这不是理 ...
- 执行此安装程序之前,必须安装 32 位 Windows 映像处理组件(WIC)解决的方法
我们在Windows Service 2003上安装 Microsoft .NET Framework4.0时常常出现以下的报错 执行此安装程序之前,必须安装 32 位 Windows 映像处理组件( ...
- 这个更新需要花去 50.6 M 磁盘上总计 /boot 的空间。请在 7737k 磁盘上留出 /boot 空间。清空您的回收站和临时文件,用“sudo apt-get clean
系统升级会下载多余的内核,删除即可. 1.命令:dpkg --get-selections|grep linux //带image的为系统内核 2.命令: uname -a ...
- Oracle SQL函数之数学函数
Oracle SQL函数之数学函数 ABS(x) [功能]返回x的绝对值 [参数]x,数字型表达式 [返回]数字 SQL> SELECT ABS(),ABS(-) FROM DUAL; ABS( ...
- sshd安全性能优化
sshd服务是远程登录服务,默认端口为22,对于其优化一是为了增加服务器的安全,避免暴力破解:二是为了加快速度连接,减少不必要的带宽的浪费. sshd服务的配置文件为/etc/ssh/sshd_con ...
- zookeeper 丢失事件/miss event
今天在统计页面上发现有个节点丢失了,经过仔细分析后,发现同一个节点上的二个应用(同时监控zk)其中一个丢失了一个event,检查zk cluster没有发现异常... 通过网络搜寻,出现miss ev ...
- java中List的用法
list的添加删除等操作 import java.util.*; class TestList { public static void main(String[] args) { List<S ...
- Core Bluetooth 概述 【官方文档翻译】
Core Bluetooth 框架在Mac和iOS平台,为配备了低功耗蓝牙无线技术的设备提供了进行通信所需要的类.例如,您的应用程序可以发现,探索,和低功耗的外围设备进行交互,如心率监视器.数字温控器 ...