欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

stl算法原理

墨初 知识笔记 96阅读

什么是STL算法?

答:从实现的角度来看,STL算法是一种function template。 迭代器 (Iterators):用来在一个对象集合的元素上进行遍历动作。扮演了容器与算法之间的胶合剂,共有五种类型,从实现角度来看,迭代器是一种将operator* , operator-> , operator++, operator–等指针相关操作予以重载的class template。 所有STL容器都附带有自己专属的迭代器,只有容器的设计者才知道如何遍历自己的元素。 原生指针 (native pointer)也是一种迭代器。 仿函数 :行为类似函数,可作为算法的某种策略。 从实现角度来看,仿函数是一种重载了operator ()的class 或者class template。

STL的具体流程是什么?

答:STL的具体流程如下: outer loop: 计算robustness weight; inner loop: Step 1 去趋势; Step 2 周期子序列平滑; Step 3 周期子序列的低通量过滤; Step 4 去除平滑周期子序列趋势; Step 5 去周期; Step 6 趋势平滑;

STL算法和迭代器有什么区别?

答:算法 (Algorithms):用来处理对象集合中的元素,各种常用的算法,如sort、find、copy、for_each。. 从实现的角度来看,STL算法是一种function template。. 迭代器 (Iterators):用来在一个对象集合的元素上进行遍历动作。扮演了容器与算法之间的胶合剂,共有五种类型,从实现角度来看,迭代器是一种将operator* , operator-> , operator++, operator–等指针相关操作予以重载的class template。. 所有STL容器都附带有自己专属的迭代器,只有容器的设计者才知道如何遍历自己的元素。.

什么是 STL 编译器?

答:1) STL 是 C++的一部分,因此不用额外安装什么,它被内建在你的编译器之内。 2) STL 的一个重要特性是将数据和操作分离。 数据由容器类别加以管理,操作则由可定制的算法定义。 迭代器在两者之间充当“粘合剂”,以使算法可以和容器交互运作。

声明:无特别说明,转载请标明本文来源!