STL 基础学习笔记
文章平均质量分 77
ukston_C
这个作者很懒,什么都没留下…
展开
-
vector 容器基础
////////////////////////////////////////////原创 2018-06-05 11:39:10 · 225 阅读 · 0 评论 -
映射(map/multimap)基础
map/multimap 的简介 map 是标准的关联式容器, 一个 map 是一个键值对序列, 即(key,value)对。 它提供基于 key 的快速检索能力。 map 中 key 值是唯一的。 集合中的元素按一定的顺序排列。 元素插入过程是按排序规则插入, 所以不能指定插入位置。 map 的具体实现采用红黑树变体的平衡二叉树的数据结构。 在插入操作和删除操作上比 vector 快。 ...原创 2018-06-09 13:53:33 · 421 阅读 · 0 评论 -
String 语法
#include<iostream>using namespace std;#include"string"#include"algorithm"/*初始化*/int main01(){ /////////////////////////////初始化方法 string s1 = "aaaaaaaaaa"; //string(const char *s);...原创 2018-06-02 16:07:37 · 415 阅读 · 0 评论 -
STL常用算法(复制、交换、替换、填充、生成、删除、排序、集合操作)
//pioi#include"iostream"using namespace std;#include"vector"#include"string"#include"algorithm"#include"functional"#include"iterator"/*复制*///copy和copy_backwardvoid print(int &n){原创 2018-06-19 13:32:46 · 314 阅读 · 0 评论 -
STL常用算法(循环,查询,计数,比较)
//循环,查询,计数,比较序号功能函数名称说明 1循环for_each遍历容器元素,对每个元素执行相同的操作 2查询find在单迭代器序列中找出某个值第一次出现的位置 find_if在单迭代器序列中找出符合某谓词的第一个元素 find_first_of在双迭代器序列中找出子序列中某元素第一次出现的位置 adjacent_find在单迭代器序列中找出第一次相邻值相等元素出现的位置 find_end在...原创 2018-06-15 09:56:28 · 449 阅读 · 0 评论 -
集合(set和multiset)
set/multiset 的简介 set 是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列。元素插入过程是按排序规则插入, 所以不能指定插入位置。 set 采用红黑树变体的数据结构实现, 红黑树属于平衡二叉树。 在插入操作和删除操作上比 vector 快。 set 不可以直接存取元素。(不可以使用 at.(pos)与[]操作符)。 mu...原创 2018-06-08 10:13:21 · 379 阅读 · 0 评论 -
优先队列的用法
优先队列的用法 priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数: priority_queue<Type, Container, Functional> 其中Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。 Container 必须是用数组...原创 2018-06-07 15:01:29 · 242 阅读 · 0 评论 -
STL综合案例
//案例1(set、map)//创建一个集合,保存文件中出现的单词;set//创建一个映射,保存单词及该单词出现的次数;map#include"iostream"using namespace std;#include"vector"#include"set"#include"map"#include"iterator"#include"functional"#inclu原创 2018-06-21 11:23:44 · 417 阅读 · 0 评论 -
List容器基础
//原创 2018-06-06 17:07:55 · 209 阅读 · 0 评论 -
堆栈与队列(stack和queue)
Stack 简介 stack 是堆栈容器, 是一种“先进后出” 的容器。 stack 是简单地装饰 deque 容器而成为另外的一种容器。 #include <stack> stack 对象的默认构造stack 采用模板类实现, stack 对象的默认构造形式: stack <T> s;stack <int> s; //一个存放 int 的 stack 容...原创 2018-06-06 15:10:29 · 6030 阅读 · 0 评论 -
函数适配器
函数适配器1)函数适配器 2)常用函数适配器标准库提供一组函数适配器,用来特殊化或者扩展一元和二元函数对象。常用适配器是:1绑定器(binder): binder通过把二元函数对象的一个实参绑定到一个特殊的值上,将其转换成一元函数对象。C++标准库提供两种预定义的binder适配器:bind1st和bind2nd,前者把值绑定到二元函数对象的第一个实参上,后者绑定在第二个实参上。2取反器(...原创 2018-06-13 13:49:28 · 771 阅读 · 0 评论 -
Deque容器基础
// deque 是“double-ended queue”的缩写, 和 vector 一样都是 STL 的容器, deque 是双端数组, 而 vector 是单端的。 deque 在接口上和 vector 非常相似, 在许多操作的地方可以直接替换。 deque 可以随机存取元素(支持索引值直接存取, 用[]操作符或 at()方法, 这个等下会详讲)。 deque 头部...原创 2018-06-06 11:15:09 · 354 阅读 · 0 评论 -
函数对象
//函数对象:重载函数调用操作符的类, 其对象常称为函数对象(function object), 即它们是行为类似函数的对象。 一个类对象, 表现出一个函数的特征, 就是通过“对象名+(参数列表)”的方式使用一个类对象, 如果没有上下文, 完全可以把它看作一个函数对待。这是通过重载类的 operator()来实现的。“在标准库中, 函数对象被广泛地使用以获得弹性”, 标准库中的很多算法都可以使用函...原创 2018-06-12 10:47:25 · 748 阅读 · 0 评论 -
容器选用场景
顺序容器容器名称初始化赋值元素存取大小插入和删除扩展string默认 带参数 拷贝 运算符重载= /.assgin(){2种}[] /.at()size(),strlen(),empty()insert() erase() clear()拼接:+/append() 查找: find()/rfind() 替换:replace() 子串: substr() 比较: compare()vector默认 ...原创 2018-06-12 11:03:42 · 275 阅读 · 0 评论