#include<vector>
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
///自定义sort排序方法
bool Comp(const int &a,const int &b){
///巧妙的比较大小的写法
if(a != b)
return a>b;
else
return a>b;
}
int main(){
vector<int> v;
///从尾部追加元素
v.push_back(2);
v.push_back(7);
v.push_back(9);
///用下标的方式访问vector元素
printf("用下标的方式访问vector元素:\n");
cout << v[0] << " " << v[1] << " " << v[2] << endl;
///用迭代器的方式访问vector元素
printf("用迭代器的方式访问vector元素:\n");
///定义迭代器变量
vector<int>::iterator it;
for(it = v.begin();it != v.end();it++){
///输出迭代器上的元素值
cout << *it << " ";
}
printf("\n");
///元素的插入
///在最前面插入新元素,元素值为8
v.insert(v.begin(),8);
///在第二个元素前插入新元素1
v.insert(v.begin()+2,1);
///在向量末尾追加新元素3
v.insert(v.end(),3);
printf("插入后的元素值\n");
///vector<int>::iterator it;
for(it = v.begin();it < v.end();it++){
cout << *it << " ";
}
printf("\n");
///元素的删除
///删除第二个元素,从0开始计数
v.erase(v.begin()+2);
///输出删除后的结果
///vector<int>::iterator it;
printf("删除第二个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///删除第一到三个元素
v.erase(v.begin()+1,v.begin()+3);
///输出删除后的结果
///vector<int>::iterator it;
printf("删除第一到三个元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///清空向量
v.clear();
///输出向量大小
printf("向量大小:\n");
cout << v.size() << endl;
///使用reverse反向排列算法
///给向量赋值
for(int i = 0;i < 10;i++){
v.insert(v.end(),i);
}
///输出赋值后的元素
printf("赋值后的元素:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///反向排列向量从首到尾间的元素
reverse(v.begin(),v.end());
///输出反向排序后的结果
printf("反向排序后的结果:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///使用sort算法对向量排序
///输出排序前的向量
printf("排序前:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///排序,升序排序
sort(v.begin(),v.end());
///输出排序后的向量
printf("排序后:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///自定义sort排序方法(降序)
sort(v.begin(),v.end(),Comp);
///输出排序结果
printf("再次排序后:\n");
for(it = v.begin();it < v.end();it++)
cout << *it << " ";
printf("\n");
///向量的大小
///输出向量大小
printf("输出当前向量大小:\n");
cout << v.size() << endl;
///输出向量是否为空
printf("输出是否为空:\n");
cout << v.empty() << endl;
v.clear();
cout << v.empty() << endl;
return 0;
}
相关推荐
指标异常检测和诊断
贡献度,即用定量衡量的方式来说明:一个指标YYY的异动△Y△Y△Y,具体是由其中哪些成分XiX_iXi带来了多少异动△Yi△Y_i△Yi?
c++中vector的用法
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name
PyMuPDF`库实现PDF旋转功能
本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。通过使用`wx很抱歉,Markdown格式在当前聊天界面无法显示。我将为您提供纯文本格式的博客内容,您可以将其复制到Markdown编辑器中进行格式化。PDF转换工具本文介绍了一个简单的Python应用程序,用于将PDF文件转换为旋转90度的PDF文件。该工具使用了wxPython和PyMuPDF库。功能该PDF转换工具具有以下功能:1. 选择PDF文件:通过点击“选择文件”按钮,用户可以选择要转换的PDF文件。
c语言实现任何数据类型的vector(动态数组)
模仿C++ STL的vector中函数命名 大部分名字都相同,快速上手
基于Ultralytics RT-DETR的工业缺陷检测实战:从NEU-DET数据集准备到模型部署
本文详细介绍了基于Ultralytics框架和RT-DETR模型进行工业缺陷检测的完整实战流程。内容涵盖从NEU-DET数据集准备、YOLO格式转换、环境配置,到模型训练、关键参数调优、性能验证与可视化分析,最后提供了ONNX等格式的模型部署方案,为工业质检场景提供了一套高效、可落地的AI解决方案。
SAP MM自动化进阶:STO交货单自动创建的配置与优化
本文深入解析了SAP MM模块中实现公司间库存调拨订单(STO)交货单自动创建的完整配置流程与优化策略。通过激活自动交货与绑定发货点两大核心配置,打通自动化链路。重点探讨了如何集成ATP可用性检查以智能处理库存不足等异常场景,确保自动化流程的可靠性与业务贴合度,并提供了进阶监控与问题排查方法,助力企业显著提升供应链效率。
结构体定义 typedef struct 用法详解和用法小结
typedef可以声明新的类型名来代替已有的类型名,但却不能增加新的类型。 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量提供一个易记且意义明确的新名字(类型有新别名,方便变量的定义),另一个是简化一些比较复杂的类型声明。 ...
【AN7581】AN7581 SDK编译环境搭建操作说明
安装编译需要的工具包。
c++ 27——vector
#include #include using namespace std; typedef vector INTVEC;//vector 模版类 看作是一个类 int main(void) { INTVEC v; //空的一个向量,里面没有任何元素 详细:构造看文档 v.push_back(1); v.push_back(2); v.push_back(3); unsigned
Android实战——白天黑夜模式设置
白天黑夜模式是一种动态的UI模式,根据当前时间或用户设置的偏好,在白天和黑夜之间进行切换。它通过调整应用程序的颜色、亮度和其他可视化元素来提供更加舒适和易读的用户界面。
海思3516A移植MT7601U编译过程记录
官方地址:https://www.mediatek.com/products/broadbandWifi/mt7601 tar -xjf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913 1> Makefile替换 PLATFORM = HISI_3516A ifeq ($(PLATFORM),HISI_3516A) LINUX_SRC = /home/wbk/test/linu
数据结构-顺序表
一、构造一个顺序表: #include <stdio.h> #include <stdlib.h> typedef struct Vector{ int size,length; int *data; }Vector; void init(Vector *vector,int size){ vector->size = size; vector->length = 0; vector->data = (int *)malloc(sizeof(int)
BES2810_best1702_best1702_ibrt_三者关系深度解析
一颗芯片的三个名字:BES2810、best1702 与 best1702_ibrt 关系深度解析
vector向量容器(顺序容器)
vector向量容器 1. 可以像数组一样对元素进行随机访问 2. 可以在尾部插入元素 3. 具有内存自动管理的功能,对于元素的插入和删除,课动态调整所占的内存空间 4. 下标是从0开始计数的
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
bit_vector位向量容器
http://blog.163.com/zhoumhan_0351/blog/static/3995422720103892031806/ bit_vector位向量容器 一、原理 bit_vector位向量容器是一个bit位元素的序列容器,具有vector容器一样的成员函数,常用于硬件端口的控制。区别于vector的一个重要特性是bit_vector更节省内存空间,一个元素只占
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
用vector容器完成向量类的重载
文章目录用vector容器完成向量类的重载题目要求代码为结果总结 用vector容器完成向量类的重载 题目要求 题目描述 实现一个向量类,在类中,分别重载 “+, -, *(数乘,矩阵乘) ” 基本运算以及 “==,!=,-(负号), =(赋值)" 操作符,以实现向量基本运算。 要求: 除了重载相应的操作符,也需要实现一个类的一些基本的方法(接口),比如构造、析构、拷贝构造等。 可以使用C++标准模板库(STL)里面的vector类,也可以使用你前一次作业实现的动态数组作为你这次所要实现的向量类的基础。
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
ACM学习历程6——Vector向量容器
Vector向量容器属于第一类容器,支持级访问迭代器,与数组不同的是,向量容器在内存用尽时,会自动分配更大的连续内存区,将原来的元素复制到性的内存区中,并释放旧的内存区。Vector实际上相当于一个动态的数组,随机访问的时间为常数,在尾部添加速度很快,但是在中间插入元素时速度会变慢,这一点跟对数组的操作是一样的,中间插值会设计到数据的移动。 (一)在定义Vecotr时,需要给定一个具体的实参类型
vector向量容器中使用insert()插入数值的方法
vector向量容器中使用 insert() 方法 可以在vector对象的任意位置前插入一个新的元素 insert() 方法要求插入的位置,是 元素迭代器 的位置,而不是元素的下标。 #include<vector> #include<iostream> using namespace std; int main() { vecto...
3167



被折叠的 条评论
为什么被折叠?



