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与迭代器基础运用


相关文章
|
17天前
|
安全 编译器 C语言
【C++数据结构】string的模拟实现
【C++数据结构】string的模拟实现
|
3天前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
8 1
|
3天前
|
存储 算法 编译器
[C++] STL简介
[C++] STL简介
7 1
|
9天前
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
23 2
|
5天前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
11 0
|
10天前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
22 0
|
16天前
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针
|
17天前
|
存储 算法 程序员
【STL】string
【STL】string
|
18天前
|
编译器 C语言 C++
【C++】模拟实现string类
【C++】模拟实现string类
|
18天前
|
存储 算法 C语言
【C++】认识使用string类
【C++】认识使用string类