浅谈c++中的stl

内容来自1002xju新生培训及哔哩哔哩黑马程序员


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

 

文章目录

目录

浅谈c++中的stl

前言

二、概述

 

 


 


前言

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   

 

算法

质变算法:运算过程中会更改区间关系的内容,例如拷贝,替换,删除等

非质变算法:不会更改区间的元素内容,例如查找,计数,遍历,寻找极值

迭代器

提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表达方式

每个容器都有属于自己的迭代器

初学可以先理解为指针

2020-10-02

后两种,也就是双向迭代器和随机访问迭代器多被使用

 

第一种:vector类型

新手还在学未学完


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

 

 

 

相关文章:

  • 2022-02-18
猜你喜欢
  • 2021-05-21
相关资源
相似解决方案