当前位置: 首页 > news >正文

vector容器

以下是关于vector容器的总结
1、构造容器
2、容器赋值
3、获取容量capacity和大小size
4、插入和删除
5、数据存取
6、互换容器和预留空间

#include <iostream>
#include <vector>using namespace std;
// vector数据结构和数组非常相似,也称为单端数组
// vector和普通数组的区别:数组是静态空间,vector可以动态扩展
// vector容器的迭代器是支持 随机访问 的迭代器void printVector(vector<int> &v)
{for(vector<int>::iterator it = v.begin(); it!=v.end(); it++){cout << *it << " ";}cout << endl;
}// vector的几种构造方式
void test01()
{// 默认构造vector<int> v1; for(int i=0; i<10; i++){v1.push_back(i);}printVector(v1);// 通过区间方式进行构造vector<int> v2(v1.begin(), v1.end());printVector(v2);// 拷贝构造vector<int> v3(v2);printVector(v3);
}// vector的赋值
void test02()
{// 1 等号赋值vector<int> v1,v2; for(int i=0; i<10; i++){v1.push_back(i);}v2 = v1;printVector(v2);
}// vector容量和大小
void test03()
{vector<int> v1;bool flag = v1.empty();cout << "flag = " << flag << endl;for(int i=0; i<5; i++){v1.push_back(i);}flag = v1.empty();cout << "flag = " << flag << endl;int capacity = v1.capacity();cout << "capacity = " << capacity << endl;int size = v1.size();cout << "size = " << size << endl;// resize(size, num) 重新定义容器的大小,多余的位置用num来填充}// vector插入和删除
void test04()
{// 1 push_back(ele) & pop_back(ele)vector<int> v;for(int i = 0; i<10; i++){v.push_back(i);}// 2 insert(const_iterator pos, ele) 迭代器指向位置Pos插入元素elev.insert(v.begin()+2, 10);printVector(v);// 3.1 erase(const_iterator pos) 删除迭代器指向位置的元素v.erase(v.begin()+2);printVector(v);// 3.2 erase(const_iterator start, const_iterator end) 删除迭代器从strat到end之间的元素v.erase(v.begin()+3, v.begin()+6);printVector(v);// 4 clear()v.clear();printVector(v);}// vector数据存取
void test05()
{vector<int> v;for(int i = 0; i<10; i++){v.push_back(i);}// 1 v.at(int idx)cout << "v[2] = " << v.at(2) << endl;;// 2 operator[] -> v[2]cout << "v[2] = " << v[2] << endl;// 3 front() 返回容器中的第一个数据cout << "v[0] = " << v.front() << endl;// 4 back() 返回容器中的最后一个数据cout << "v[9] = " << v.back() << endl;
}// vector互换容器 and 预留空间
void test06()
{// 实现两个容器内元素进行交换// 函数原型:swap(vec);vector<int> v1,v2;for(int i = 0; i<10; i++){v1.push_back(i);}for(int i=0; i<5; i++){v2.push_back(i+2);}v1.swap(v2);printVector(v1);printVector(v2);// reserve(int len); // 容器预留len个元素长度,预留位置不初始化,元素不可访问// 减少动态扩展内存的次数
}int main(int argc, char **argv)
{// 1 构造cout << "1 构造" << endl;test01();cout << endl;// 2 赋值cout << "2 赋值" << endl;test02();cout << endl;// 3 容量和大小cout << "3 容量和大小" << endl;test03();cout << endl;// 4 插入和删除cout << "4 插入和删除" << endl;test04();cout << endl;// 5 数据存取cout << "5 数据存取" << endl;test05();cout << endl;// 6 互换容器cout << "6 互换容器" << endl;test06();cout << endl;return 0;
}

在这里插入图片描述

相关文章:

vector容器

以下是关于vector容器的总结 1、构造容器 2、容器赋值 3、获取容量capacity和大小size 4、插入和删除 5、数据存取 6、互换容器和预留空间 #include <iostream> #include <vector>using namespace std; // vector数据结构和数组非常相似&#xff0c;也称为单端数组…...

二进制常用知识整理<java>

1、进制转换&#xff1a; int转二进制&#xff1a; public static void main(String[] args) {int a 0b100;//0b表示后面的为二进制表示&#xff0c;0开始表示八进制System.out.println(a);System.out.println(Integer.toBinaryString(a));System.out.println(Integer.toStr…...

基于Docker的淘客返利平台部署

基于Docker的淘客返利平台部署 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将探讨如何利用Docker技术来部署一个淘客返利平台。Doc…...

【涵子来信科技潮流】——WWDC24回顾与暑假更新说明

期末大关&#xff0c;即将来袭。在期末之前&#xff0c;我想发一篇文章&#xff0c;介绍有关WWDC24的内容和暑假中更新的说明。本篇文章仅为个人看法和分享&#xff0c;如需了解更多详细内容&#xff0c;请通过官方渠道或者巨佬文章进行进一步了解。 OK, Lets go. 一、WWDC24 …...

重温react-08(createContext使用方式)

react中的createContext使用方式 简介一下&#xff0c;就是组件之间可以互相通信的比较好用的传值方式&#xff0c;话不多说直接上代码。 以下介绍的是类组件中的方式&#xff0c;在函数组件中不是如此使用的。 定义一个通用的方法 import { createContext } from "react…...

LInux后台运行程序

测试c代码 #include <stdio.h> #include <unistd.h> int main() {for (int i;; i) {printf("b数值 %d\n", i);fflush(stdout);sleep(3);} }使用CtrlZ可以将当前正在运行的程序放到后台并暂停它。如果你想要继续这个暂停的程序&#xff0c;可以使用fg命令…...

DEBOPIE框架:打造最好的ChatGPT交易机器人

本文介绍了如何利用 DEBOPIE 框架并基于 ChatGPT 创建高效交易机器人&#xff0c;并强调了在使用 AI 辅助交易时需要注意的限制以及操作步骤。原文: Build the Best ChatGPT Trading Bots with my “DEBOPIE” Framework 如今有大量文章介绍如何通过 ChatGPT 帮助决定如何以及在…...

C++ Thead多线程 condition_variable 与其使用场景---C++11多线程快速学习

std::condition_variable 的步骤如下&#xff1a; 创建一个 std::condition_variable 对象。 创建一个互斥锁 std::mutex 对象&#xff0c;用来保护共享资源的访问。 在需要等待条件变量的地方 使用 std::unique_lock<std::mutex> 对象锁定互斥锁 并调用 std::conditio…...

什么是前端开发?

前端开发是什么一种工作&#xff1f;这里以修房子举例&#xff1a; jquery根据数据去生成对应的html代码。首先得有一个html代码的“房屋构造”&#xff0c;然后根据数据去填充“房屋构造”的“血肉”&#xff0c;最后JavaScript通过事件等方法给一砖一瓦修好的房屋添加“灵魂…...

大数据面试题之Spark(1)

目录 Spark的任务执行流程 Spark的运行流程 Spark的作业运行流程是怎么样的? Spark的特点 Spark源码中的任务调度 Spark作业调度 Spark的架构 Spark的使用场景 Spark on standalone模型、YARN架构模型(画架构图) Spark的yarn-cluster涉及的参数有哪些? Spark提交jo…...

Spring Boot 和 Spring Framework 的区别是什么?

SpringFramework和SpringBoot都是为了解决在Java开发过程中遇到的各种问题而出现的。了解它们之间的差异&#xff0c;能够更好的帮助我们使用它们。 SpringFramework SpringFramework是一个开源的Java平台&#xff0c;它提供了一种全面的架构和基础设施来支持Java应用程序的开…...

JVM原理(四):JVM垃圾收集算法与分代收集理论

从如何判定消亡的角度出发&#xff0c;垃圾收集算法可以划分为“引用计数式垃圾收集”和“追踪式垃圾收集”两大类。 本文主要介绍的是追踪式垃圾收集。 1. 分代收集理论 当代垃圾收集器大多遵循“分代收集”的理论进行设计&#xff0c;它建立在两个假说之上&#xff1a; 弱分…...

1961 Springboot自习室预约系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 自习室预约管理系统是一套完善的信息系统&#xff0c;结合springboot框架和bootstrap完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库…...

前端面试题(12)答案版

1. H5的新特性&#xff1f; 1) 更加语义化的标签,如<header>、<nav>、<article>等,便于网页结构的表达。 2) 新的多媒体标签,如<video>和<audio>,支持本地视频和音频的播放。 3) 本地存储API,如localStorage和sessionStorage,用于在客户端保存数…...

SpringMVC 域对象共享数据

文章目录 1、使用ServletAPI向request域对象共享数据2、使用ModelAndView向request域对象共享数据3、使用Model向request域对象共享数据4、使用map向request域对象共享数据5、使用ModelMap向request域对象共享数据6、Model、ModelMap、Map的关系7、向session域共享数据8、向app…...

每天五分钟深度学习框架pytorch:tensor向量之间常用的运算操作

本文重点 在数学中经常有加减乘除运算,在tensor中也不例外,也有类似的运算,本节课程我们将学习tensor中的运算 常见运算 加法+或者add import torch import numpy as np a=torch.rand(16,3,28,28) b=torch.rand(1,3,28,28) print(a+b) import torch import numpy as np a…...

【数据结构】(C语言):栈

栈&#xff1a; 线性的集合。后进先出&#xff08;LIFO&#xff0c;last in first out&#xff09;。两个指针&#xff1a;指向栈顶和栈底。栈顶指向最后进入且第一个出去的元素。栈底指向第一个进入且最后一个出去的元素。两个操作&#xff1a;入栈&#xff08;往栈尾添加元素…...

c++类成员指针用法

1&#xff09;C入门级小知识&#xff0c;分享给将要学习或者正在学习C开发的同学。 2&#xff09;内容属于原创&#xff0c;若转载&#xff0c;请说明出处。 3&#xff09;提供相关问题有偿答疑和支持。 c中新增类成员指针操作&#xff0c;为了访问方便&#xff0c;他是指…...

[240625] Continue -- 开源 Copilot | Web-Check 网站分析工具 | Story of EOL

目录 Continue -- 开源 CopilotWeb-Check 网站分析工具Web-Check 提供全面的网站分析功能Web-Check 支持多种部署方式&#xff1a;配置选项开发环境Web-Check 使用多种数据源进行分析 Story of EOLASCII 文本中的换行符问题 Continue – 开源 Copilot 让 Continue 和 Ollama 成…...

【Mac】Auto Mouse Click for Mac(高效、稳定的鼠标连点器软件)软件介绍

软件介绍 Auto Mouse Click for Mac 是一款专为 macOS 平台设计的自动鼠标点击软件&#xff0c;它可以帮助用户自动化重复的鼠标点击操作&#xff0c;从而提高工作效率。以下是这款软件的主要特点和功能&#xff1a; 1.自动化点击操作&#xff1a;Auto Mouse Click 允许用户录…...

如何用Wedecode实现微信小程序源代码的完美还原:从加密包到可读代码的完整指南

如何用Wedecode实现微信小程序源代码的完美还原&#xff1a;从加密包到可读代码的完整指南 【免费下载链接】wedecode 全自动化&#xff0c;微信小程序 wxapkg 包 源代码还原工具, 线上代码安全审计&#xff0c;支持 Windows, Macos, Linux 项目地址: https://gitcode.com/gh…...

AXI Crossbar设计解析:从总线互联原理到SoC集成实战

1. 项目概述&#xff1a;AXI Crossbar&#xff0c;不仅仅是“总线交叉开关”在复杂的数字系统设计&#xff0c;尤其是SoC&#xff08;片上系统&#xff09;和FPGA应用中&#xff0c;我们常常面临一个核心问题&#xff1a;多个主设备&#xff08;Master&#xff0c;如CPU、DMA控…...

【限时解密】ElevenLabs未文档化的/v1/text-to-speech/{voice_id}/with-timing接口:获取逐词时间戳+音素级对齐数据(仅剩3个Beta白名单通道)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs英文语音生成的核心能力与技术定位 ElevenLabs 是当前业界领先的 AI 语音合成平台&#xff0c;其英文语音生成能力建立在自研的端到端神经声学模型&#xff08;如 ElevenMultilingualV2&…...

嵌入式事件驱动框架Curtroller:模块化设计提升开发效率

1. 项目概述与核心价值最近在嵌入式开发社区里&#xff0c;一个名为“Curtroller”的项目引起了我的注意。这个项目由开发者KenWuqianghao在GitHub上开源&#xff0c;名字本身就是一个巧妙的组合——“Curt”&#xff08;可能是“Current”电流的缩写或“Control”控制的变体&a…...

Deep Lake:AI数据湖与向量数据库一体化管理实践

1. 项目概述&#xff1a;当数据湖遇上深度学习如果你正在构建一个AI应用&#xff0c;无论是图像识别、自然语言处理还是多模态模型&#xff0c;数据管理绝对是你绕不开的“硬骨头”。数据分散在各个文件夹、云存储、数据库里&#xff0c;格式五花八门&#xff0c;加载速度慢&am…...

React轻量级代码编辑器组件:基于Textarea的语法高亮方案

1. 项目概述&#xff1a;一个为React开发者量身打造的代码编辑器组件 如果你在React项目中需要嵌入一个代码编辑器&#xff0c;并且希望它轻量、美观、开箱即用&#xff0c;那么 uiwjs/react-textarea-code-editor 这个组件库很可能就是你一直在寻找的解决方案。它不是一个像…...

Arm CoreLink PCK-600电源管理套件解析与应用实践

1. Arm CoreLink PCK-600电源控制套件概述在现代SoC设计中&#xff0c;电源管理已经成为一个关键的技术挑战。随着移动设备和物联网应用的普及&#xff0c;如何在保证性能的同时最大限度地降低功耗&#xff0c;成为芯片设计者面临的核心问题。Arm CoreLink PCK-600电源控制套件…...

Docker里CentOS镜像yum报错?别慌,教你两步搞定‘appstream’仓库元数据下载失败

Docker中CentOS镜像yum报错&#xff1f;三步根治‘appstream’仓库元数据下载失败 当你兴致勃勃地在Docker中启动一个CentOS容器准备大展拳脚时&#xff0c;突然遭遇Failed to download metadata for repo appstream的红色报错&#xff0c;这种挫败感我深有体会。不同于物理机或…...

基于视觉语言模型的智能体框架:让AI看懂界面并自动操作

1. 项目概述&#xff1a;当AI学会“看”与“想”最近在探索AI与视觉结合的领域时&#xff0c;我深度体验了landing-ai团队开源的vision-agent项目。这不仅仅是一个工具库&#xff0c;它更像是一个为大型语言模型&#xff08;LLM&#xff09;装上了“眼睛”和“手”的智能体框架…...

创业团队如何利用Taotoken以更低成本快速验证AI产品创意

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 创业团队如何利用Taotoken以更低成本快速验证AI产品创意 对于资源有限的创业团队而言&#xff0c;在产品原型阶段验证AI创意的可行…...