浅谈c++中的stl
内容来自1002xju新生培训及哔哩哔哩黑马程序员
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算法的集合指的是世界上很多聪明人很多年的杰作。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。STL是C++的一部分,因此不用安装额外的库文件。
-转自百度
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、概述
stl:广义上分为容器(container)算法(algorithm)迭代器(iterator)
并且容器和算法通过迭代器无缝衔接
2.stl六大组件
1.容器:各种数据结构:如vector,list,deque,set,map等。用来存放数据
2.各种常用的算法:如sort,find,copy,for_each等
3.迭代器:扮演了容器和算法之间的胶合剂。
4.仿函数:行为类似函数,可作为算法的某种策略
5.适配器
6.空间配置器
容器:
stl容器就是将运用最广泛的一些数据突现出来
常用的数据结构:数组,链表,树,栈,队列,集合,映射表等
而容器我们通常分为两类
1.序列式容器
强调值的排序,序列中的每个元素均有固定的位置
2.关联式容器
二叉树结构,各元素之间没有严格的物理上的顺序
| input | 1 3 5 7 8 4 | |
| 强调式 | 1 3 5 7 8 4 | |
| 关联式 | 1 3 4 5 7 8 |
算法
质变算法:运算过程中会更改区间关系的内容,例如拷贝,替换,删除等
非质变算法:不会更改区间的元素内容,例如查找,计数,遍历,寻找极值
迭代器
提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表达方式
每个容器都有属于自己的迭代器
初学可以先理解为指针
后两种,也就是双向迭代器和随机访问迭代器多被使用
第一种:vector类型
新手还在学未学完
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。