初识STL模版|c++基础--详细讲解

开头声明

本文由署髫亲自撰写并非转载

如果代码或文章内容有误,请大佬们及时指出。

部分内容是从网上复制的。

!!链接绝对安全无毒!!

点个呗~

STL是什么

1.定义

STL(Standard Template Library)是C++的一部分,它是一个,包含了几个组件,如向量、列表、映射、集合等。这些组件都是通用的,可以用于不同类型的数据,是一套非常好用且强大的C++模板。

在C++中,你可以通过模板(templates)来创建自己的STL样式的数据结构。模板是C++中的一个特性,它允许你编写可以用于多种数据类型的代码。

2.组成

1.容器

2.迭代器(iterators)

3.算法(algorithms)

4.函数对象

STL具体介绍

1.容器

一定特点存储数据的,就叫做容器

1.顺序容器:

stack--栈

C++中的stack是一种后进先出(‌LIFO)‌的数据结构,‌专门用于在具有后进先出操作的上下文环境中。‌它的删除操作只能从容器的一端进行元素的插入与提取。‌Stack是作为容器适配器被实现的,‌这意味着它是对底层容器的封装,‌并提供了一组特定的成员函数来访问其元素。‌Stack的底层容器可以是任何标准的容器类模板。‌默认情况下,‌如果没有为stack指定特定的底层容器,‌它将使用deque作为底层容器。‌

Stack的特点包括:‌

  • 优先入栈的元素后出
  • 只能查看栈顶
  • 只能从栈顶插入
queue--队列

C++中的queue(‌队列)‌是一种先进先出(‌FIFO)‌的数据结构,‌它允许在一端添加元素(‌称为入队或push操作)‌,‌而在另一端移除元素(‌称为出队或pop操作)‌。‌这种数据结构在计算机科学中非常常见,‌用于处理需要按照特定顺序处理元素的情况。‌在C++中,‌队列可以通过STL模板库中的<queue>头文件来实现。‌使用<queue>头文件,‌可以定义一个队列对象,‌并通过调用其成员函数来操作队列。‌

队列的特点包括但不限于:‌

  • 优先入栈的元素先出
  • 只能查看队首
  • 只能从队尾插入
deque--双端队列

C++ STL中的deque(‌双端队列)‌是一种灵活且高效的数据结构,‌它结合了数组和链表的优点,‌允许在其头部和尾部进行插入和删除操作。‌deque是C++标准模板库(‌STL)‌中的一个容器,‌全名为double-ended queue。‌它是一种序列容器,‌与vector和list类似,‌但提供了更多的功能。‌deque的内部实现是由一段段的连续空间组成,‌这些段之间通过指针进行连接。‌这种数据结构支持随机访问,‌即可以直接通过索引访问元素,‌这是通过运算符[]实现的。‌此外,‌deque还支持在两端进行元素的插入和删除操作,‌这是通过push_front(), push_back(), pop_front(), pop_back()等函数实现的。‌deque的内存管理与vector有所不同,‌它由多个连续的内存块组成,‌这些内存块之间通过指针或引用相互连接。‌

deque的特点包括但不限于:‌

  • 可以从队首队尾插入
  • 可以从队首队尾删除
vector--动态数组

C++中的vector是一个动态数组,‌它能够在运行时改变大小,‌自动管理内存。‌vector是C++标准模板库(STL)中的一个序列容器,‌它提供了许多有用的功能,‌如push_back、‌pop_back、‌insert、‌erase等&

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值