STL入门2】的更多相关文章

STL入门 STL的组成 六大组件 容器container 算法algorithm 迭代器iterator 仿函数function object 适配器adaptors 空间配制器allocator 产生一个vector容器,并打印 #include <iostream> #include <vector>//容器 #include <algorithm>//算法 template<class T>//实现一个类模板,专门实现打印的功能 class myve…
1.快速排序的时间复杂度(平均时间复杂度为) 数组本身就有序时,效果很差为O(n^2) 2.STl入门 (1) C++内联函数(inline)和C中宏(#define)区别 内联函数有类型检查,宏定义没有:C++编程尽量使用内联函数 template <class T> inline const T& max(const T& x,const T& y) {return ((x<y)?x:y);} (2)模板template为了代码的复用 模板也类似于C语言中的宏…
前言:这个暑假才接触STL,仿佛开启了新世界的大门(如同学完结构体排序一般的快乐\(≧▽≦)/),终于彻底领悟了大佬们说的“STL大法好”(虽然我真的很菜www现在只学会了一点点...)这篇blog主要是总结一下一些简单用法,是怕我在要用时忘记又要去搜很麻烦,有哪里写的不对了请戳我~(如果你是大佬请跳过www这一篇是蒟蒻用来入门滴qwq) 备注:本篇blog参考了https://www.cnblogs.com/skyfsm/p/6934246.html,https://blog.csdn.net…
一.引言 最近这段时间一直都在自学C++,所以这里总结下自己这段时间的学习过程,通过这种方式来巩固自己学到的内容和以备后面复习所用,另外,希望这系列文章可以帮助到其他自学C++的朋友们. 由于本人之前主要研究C#语言,在自学C++的过程中,经常会把C++中内容与C#中内容进行对比来理解,所以这系列文章的内容也会与C#进行比较,从而来说明语言都是想通的,只要你掌握好一门语言,学习其他语言都可以举一反三. 二.STL是什么 STL全称为Standard Template Library,即标准模板库…
一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部分,使用STL开发系统可以提高开发效率. 2.容器(Containers) 容器类是可以包含其它对象的模板类,如向量类(vector).链表类(list).双向队列类(deque).集合类(set)和映射类(map)等.其中vector.list.deque为序列式容器,set.map为关联式容器.…
注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档. 原始资料源于各大C++参考信息网站/C++标准文档和Wikipedia. 1.概述 首先, 什么是STL? STL, 即标准模板库, 全称Standard Template Library , 主要包含4个组件, 即算法, 函数, 容器, 迭代器. 这里的函数似乎主要指函数式编程(FP)中的函数…
注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档. 原始资料源于各大C++参考信息网站/C++标准文档和Wikipedia. 博主可能会写一个系列的博文来阐述C++标准库在OI中的应用, 本文为第一篇. (表示打这个好累的说OwO博主表示手打了好几天才码完这么多字) 1.概述 首先, 什么是STL? STL, 即标准模板库, 全称Standard…
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------------------------------------------------------------------------------------------------------------------1 - string 与 字符串 find 搜寻失败会返回 string::npos 的值 st…
#include<iostream> #include<algorithm>          using namespace std; int main() {     char a[]="0123456789";     int len=strlen(a);     reverse(&a[0],&a[6]);        //a[6]没参加reverse     for(int i=0;i<10;i++)         cout&l…
1:给出n个字符串,输出每个字符串是第几个出现的字符串?多组数据 2:对每组数据,第一行输入n表示接下来有n个字符串 1 <= n <= 100000接下来的n行,每行输入一个非空的且长度最多为10的仅由大写字母组成的字符串 3:输出共n行,对每一行的字符串,输出其是第几个出现的字符串. 解题思路:直接map//mp.clear(); #include<iostream> #include<cstdio> #include<string> #include&…