C++|STL简介-string-vector基础运用

简介: C++|STL简介-string-vector基础运用

什么是STL

STL(标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且

是一个包罗数据结构与算法的软件框架。

里面的算法和容器可以直接使用,比如直接调用一个sort函数就可以对一组数据排序。不用再让我们写一个排序功能的函数。

STL里面有什么

STL六大组件

这里重点介绍容器和算法两大组件。

容器

容器提供了各种数据结构,使得数据的存储、访问和管理变得更加方便和高效。STL中的容器主要包括以下几类:

string

string类并不直接归类为序列容器或关联容器。它是一种特殊的类,专门用于处理字符串数据。

序列式容器

这些容器存储的元素具有线性关系,可以通过下标访问。

vector

一个动态数组,可以灵活地改变大小。

deque

双端队列,支持在序列的两端进行元素的插入和删除操作。

list

双向链表,对元素的插入和删除操作效率较高。

关联式容器

这些容器存储的元素具有键值对关系,通过键来访问元素。

set

集合,存储的元素是唯一的,且自动排序。

multiset

多重集合,允许存储重复的元素,且自动排序。

map

映射,存储的元素是键值对,键是唯一的,且自动排序。

multimap

多重映射,允许存储具有相同键的多个元素。

算法

算法模块提供了大量的算法函数来操作容器中的数据对象。要使用STL中的算法函数,必须包含头文件<algorithm>。

STL中的算法大致可以分为以下几类:

非可变序列算法

这些算法不直接修改它们所操作的容器的内容。例如,find函数用于在容器中查找某个元素,但不修改容器本身。

可变序列算法

这些算法可以修改它们所操作的容器的内容。例如,replace函数用于将容器中的某个元素替换为另一个元素。

排序算法

包括对序列进行排序和合并的算法,以及搜索算法和有序序列上的集合操作。例如,sort函数用于对容器中的元素进行排序。

数值算法

对容器内容进行数值计算。这些算法主要包含在<numeric>头文件中,包括一些在序列上进行简单数学运算的模板函数,如accumulate(累加)和inner_product(内积)。

网站推荐

cplusplus.com - The C++ Resources Network

string基础运用

vector与迭代器基础运用


相关文章
|
2天前
|
存储 算法 程序员
【C++进阶】深入STL之 栈与队列:数据结构探索之旅
【C++进阶】深入STL之 栈与队列:数据结构探索之旅
|
2天前
|
存储 缓存 编译器
【C++进阶】深入STL之list:模拟实现深入理解List与迭代器
【C++进阶】深入STL之list:模拟实现深入理解List与迭代器
|
2天前
|
C++ 容器
【C++进阶】深入STL之list:高效双向链表的使用技巧
【C++进阶】深入STL之list:高效双向链表的使用技巧
|
2天前
|
编译器 C++ 容器
【C++进阶】深入STL之vector:深入研究迭代器失效及拷贝问题
【C++进阶】深入STL之vector:深入研究迭代器失效及拷贝问题
|
2天前
|
存储 算法 程序员
【C++进阶】深入STL之vector:构建高效C++程序的基石
【C++进阶】深入STL之vector:构建高效C++程序的基石
|
2天前
|
编译器 C++
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
【C++进阶】深入STL之string:模拟实现走进C++字符串的世界
|
3天前
Failed to bind properties under ‘logging.level‘ to java.util.Map java.lang.String, java.lang.String
Failed to bind properties under ‘logging.level‘ to java.util.Map java.lang.String, java.lang.String
4 0
|
4天前
|
安全 Java 数据安全/隐私保护
Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(二)
Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(二)
13 0
|
4天前
|
JSON 安全 Java
Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(一)
Java基础4-一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!(一)
12 0
|
4天前
|
Java
guava Splitter 与java 内置的string的split 方法的区别
guava Splitter 与java 内置的string的split 方法的区别
6 0