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


相关文章
|
3天前
|
存储 算法 C++
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
文章详细探讨了C++中的泛型编程与STL技术,重点讲解了如何使用模板来创建通用的函数和类,以及模板在提高代码复用性和灵活性方面的作用。
12 2
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
|
24天前
|
C++
C++(十八)Smart Pointer 智能指针简介
智能指针是C++中用于管理动态分配内存的一种机制,通过自动释放不再使用的内存来防止内存泄漏。`auto_ptr`是早期的一种实现,但已被`shared_ptr`和`weak_ptr`取代。这些智能指针基于RAII(Resource Acquisition Is Initialization)原则,即资源获取即初始化。RAII确保对象在其生命周期结束时自动释放资源。通过重载`*`和`-&gt;`运算符,可以方便地访问和操作智能指针所指向的对象。
|
1月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
16 1
|
1月前
|
存储 算法 编译器
[C++] STL简介
[C++] STL简介
23 1
|
1月前
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
34 2
|
24天前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
1月前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
20 0
|
1月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
31 0
|
1月前
|
安全 编译器 容器
C++STL容器和智能指针
C++STL容器和智能指针
|
3天前
|
Java 索引
java基础(13)String类
本文介绍了Java中String类的多种操作方法,包括字符串拼接、获取长度、去除空格、替换、截取、分割、比较和查找字符等。
12 0
java基础(13)String类