C++之STL(一)

news2025/2/7 20:01:12

1、泛型程序设计

目的:提供相同的算法,相同的逻辑,来对不同类型的数据结构进行操作。

所以需要将类型当作参数,也就是参数类型化。

2、什么是STL

STL是基于模板实现的。编译的时候进行实例化

3、STL组件

4、容器算法迭代器关系

迭代器提供了一致的接口,给算法使用,用于遍历容器。算法不关心每个容器的数据结构,这个由容器本身去处理。

5、容器

向量vector:动态数组

deque:每一片内存是连续的

6、如何选择序列式容器

list插入不需要移动数据,但是遍历比较慢。

vector和deque,在中间插入的时候需要移动数据。支持下标访问。访问速度的话,vector相对来说会更快一点。因为deque每片内存之间不一定连续。

deque数据结构示意图

7、迭代器

迭代器是容器与算法的桥梁。

8、算法

9、适配器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二次IAG

IAG in NanJing City 我与南京奥体的初次相遇,也可能是最后一次! 对我来说,IAG 演唱会圆满结束啦! 做了两场充满爱[em]e400624[/em]的美梦 3.30号合肥站,6.21号南京站[em]e400947[/em] 其实,没想到昨天回去看呀!(lack of money […

如何修改外接移动硬盘的区号

- 问题介绍 当电脑自身内存不够使用的时候,使用外接硬盘扩展内存是一个不错的选择。但是当使用的外接硬盘数量过多的时候,会出现分配硬盘的区号变动的情况,这种情况下会极大的影响使用的体验情况。可以通过以下步骤手动调整恢复 - 配置 版本…

SpringBoot 快速入门(保姆级详细教程)

目录 一、Springboot简介 二、SpringBoot 优点: 三、快速入门 1、新建工程 方式2:使用Spring Initializr创建项目 写在前面: SpringBoot 是 Spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。SpringBoot化繁…

【C语言】操作符(上)

目录 1. 操作符的分类 2. 原码、反码、补码 3. 移位操作符 3.1 左移操作符 3.2 右移操作符 4. 位操作符:&、|、^、~ 5. 单目操作符 6. 逗号表达式 最近准备期末考试,好久不见啦,现在回归—— 正文开始—— 1. …

WPF文本绑定显示格式StringFormat设置-数值类型处理

绑定显示格式设置 在Textblock等文本控件中,我们经常要绑定一些数据类型,但是我们希望显示的时候能够按照我们想要的格式去显示,比如增加文本前缀,后面加单位,显示百分号等等,这种就需要对绑定格式进行处理…

【Java】已解决java.io.ObjectStreamException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.io.ObjectStreamException异常 在Java中,java.io.ObjectStreamException是一个在序列化或反序列化对象时可能抛出的异常基类。这个异常通常表示在对象流处理…

iMazing3软件下载-详细安装教程视频

​值得肯定的是智能备份:iMazing为使用者提供了免费的备份服务,并且支持两种连接方式:USB数据线连接备份和Wi-Fi无线连接,所备份的文件不会被覆盖。我们必须承认iMazing软件特色:使用你的 iOS 设备像外部驱动器。基本上…

MSPM0G3507——特殊的串口0

在烧录器中有串口0,默认也是串口0通过烧录线给电脑发数据。 如果要改变,需要变一下LP上的跳线帽。 需要更改如下位置的跳线帽

SpringBoot 搭建sftp服务 实现远程上传和下载文件

maven依赖&#xff1a; <dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version> </dependency>application.yml sftp:protocol: sftphost: port: 22username: rootpassword: sp…

论文阅读03(基于人类偏好微调语言模型)

1.主题 基于人类偏好微调语言模型&#xff08;Fine-Tuning Language Models from Human Preferences&#xff09; 出处&#xff1a; Fine-Tuning Language Models from Human Preferences、 2.摘要 奖励学习使得强化学习&#xff08;RL&#xff09;可以应用于那些通过人类判断…

云安全下的等级保护2.0解决方案

云安全解决方案 知识星球&#x1f517;除了包含技术干货&#xff1a;Java代码审计、web安全、应急响应等&#xff0c;还包含了安全中常见的售前护网案例、售前方案、ppt等&#xff0c;同时也有面向学生的网络安全面试、护网面试等。 ​

Git简单使用和理解

workspace: 本地的工作目录。 index/stage&#xff1a;暂存区域&#xff0c;临时保存本地改动。 local repository: 本地仓库&#xff0c;只想最后一次提交HEAD。 remote repository&#xff1a;远程仓库。 对于Git,首先应该明白第一git是一种分布式版本控制系统&#xff0c;最…

Echarts饼图-实现今日进度-动态图

效果预览 本次实现的是一个饼图&#xff0c;蓝色科技背景色&#xff0c;星球转动效果 进度显示。 构建一个动态饼图&#xff0c;采用ECharts&#xff0c;背景为蓝色科技风&#xff0c;有星球转动效果。通过echarts.init初始化&#xff0c;设置图表尺寸和背景色&#xff0c;配…

Add and Remove Rows

New Item Row 数据网格可以显示一个空行&#xff0c;使用户可以添加新记录。该行由显示在相应行指示符单元格内的星号&#xff08;*&#xff09;标识。若要取消添加新行&#xff0c;用户可以按Esc键。 相关API GridOptionsView.NewItemRowPosition — 允许您启用一个新的项…

快速又不失灵活性的JeecgBoot框架

简介JeecgBoot 开源界 "小普元" 超越传统商业平台。引领低代码开发模式 (OnlineCoding-> 代码生成器 -> 手工 MERGE)&#xff0c;低代码开发同时又支持灵活编码&#xff0c; 可以帮助解决 Java 项目 70% 的重复工作&#xff0c;让开发更多关注业务。既能快速提…

如何自制一个Spring Boot Starter并推送到远端公服

在现代Java开发中&#xff0c;Spring Boot无疑是一个强大且便捷的框架&#xff0c;它通过提供大量的Starter来简化依赖管理和项目配置。有时&#xff0c;我们可能需要为特定功能或团队定制Starter。本文将指导你如何创建自己的Spring Boot Starter并将其推送到远程公共服务器上…

WRONGPASS invalid username-password pair or user is disabled

连接redis客户端的时候报错&#xff1a;WRONGPASS invalid username-password pair or user is disabled 当前redis版本为7.2.4 一、问题分析 默认情况下&#xff0c;Redis 7.0 使用默认用户名 default 和空密码进行身份验证。如果未设置 requirepass&#xff0c;则默认用户名…

C++之提高篇

1.标准输入输出流 cin与cout的使用&#xff0c;就不多说了&#xff0c;说一个有关保留小数位数的操作&#xff0c;使用ostream对象的precision&#xff08;&#xff09;方法&#xff0c;表达的意思是数字总共有几位&#xff0c;注意&#xff0c;此时是包括整数部分的&#xff…

Charles抓取安卓应用https包演示

一、准备软件 夜神安卓模拟器 (yeshen.com) Charles (charlesproxy.com) 二、配置抓包 2.1 Charles安装PC根证书 记住这里的ip端口 三、安卓模拟器配置 3.1 配置安卓客户端网络代理 填写上文的ip端口&#xff0c;保存 3.2 安装根证书 3.2.1 导出根证书 linux主机执行 op…

LeetCode 算法:随机链表的复制 c++

原题链接&#x1f517;&#xff1a;随机链表的复制 复杂度&#xff1a;中等⭐️⭐️ 题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由…