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

蓝桥杯 vector

vector的定义和特性

在这里插入图片描述
在这里插入图片描述
注意:vector需要开C++11标准

vector的常用函数

push_back():将元素添加到vector末尾
pop_back():删除vector末尾的元素
begin()和end():返回指向vector第一个元素和最后一个元素之后一个位置的迭代器。
示例

vector<int> vec={10,20,30};
 for(auto it=vec.begin();it !=vec.end();it++){
 	cout<<*it<<" ";

在这里插入图片描述

vector排序去重

在这里插入图片描述
示例

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
	vector<int> vec={2,1,3,2,4,1,5,4};
	sort(vec.begin(),vec.end());
	auto last=unique(vec.begin(),vec.end());
	vec.erase(last,vec.end());
	
	for(const auto& num:vec){
		cout<<num<<" ";
	}
	return 0;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码示例

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
	//创建一个空的vector对象
	vector<int> numbers;
	//向向量中添加元素
	numbers.push_back(5); 
	numbers.push_back(2); 
	numbers.push_back(8); 
	numbers.push_back(5); 
	numbers.push_back(1); 
	numbers.push_back(2); 
	numbers.push_back(9); 
	numbers.push_back(8);
	
	//打印向量中的函数
	cout<<"原始向量中的函数:";
	for(const auto&number:numbers){
		cout<<number<<" ";
	} 
	cout<<endl;
	//对向量进行排序
	sort(numbers.begin(),numbers.end());
	
	//打印排序后的向量
	cout<<"排序后的向量:";
	for(const auto&number:numbers){
		cout<<number<<" ";
	} 
	cout<<endl;
	
	//去除重复元素
	numbers.erase(unique(numbers.begin(),numbers.end()),numbers.end());
	
	//打印去重后的向量
	cout<<"去重后的向量: ";
	for(const auto&number:numbers){
		cout<<number<<" ";
	} 
	cout<<endl;
	
	//向向量中插入元素
	numbers.insert(numbers.begin()+2,3);
	//打印插入元素后的向量
	cout<<"插入元素后的向量:";
	for(const auto&number:numbers){
		cout<<number<<" ";
	} 
	cout<<endl;
	
	//检查向量是否为空
	if(numbers.empty()){
		cout<<"向量为空"<<endl;
	} else{
		cout<<"向量不为空"<<endl;
	}
	//获取向量的大小
	cout<<"向量的大小:"<<numbers.size()<<endl;
	
	//清空向量
	numbers.clear();

	//检查向量是否为空
	if(numbers.empty()){
		cout<<"向量为空"<<endl;
	} else{
		cout<<"向量不为空"<<endl;
	}	 
	return 0;
}

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/news/134647.html

相关文章:

  • nvm 安装后出现的各种问题解决方法
  • Redis 学习
  • linux 安装中文字体
  • vue中绑定class样式和条件渲染
  • Java中的局部变量和成员变量的区别
  • c语言:解决数组有关的删除,排序,合并等问题。
  • 在Linux上安装RStudio工具并实现本地远程访问【内网穿透】
  • 四、hdfs文件系统基础操作-保姆级教程
  • learning项目总结
  • 后端技术知识点内容-全部内容-面试宝典-后端面试知识点
  • SBPL 打印机上传图片
  • 小程序如何添加打印机来打印订单
  • C进阶---文件操作
  • 根据音频绘制频谱
  • 基于像素特征的kmeas聚类的图像分割方案
  • 安全测试工具分为 SAST、DAST和IAST 您知道吗?
  • 【开源】基于Vue.js的智能教学资源库系统
  • GCC多平台编译会遇到小问题
  • Codewhisperer 使用评价
  • 机器学习技术栈—— 概率学基础
  • markdown 公式编辑
  • 用户运营:如何搭建用户分析体系
  • 三极管与mos管的区分与应用
  • RT-DETR优化改进:SEAM、MultiSEAM分割物与物相互遮挡、分割小目标性能
  • 零基础安装分布式数据服务注册系统
  • SpringCache
  • 【开源】基于JAVA的校园二手交易系统
  • 微服务和Spring Cloud Alibaba介绍
  • SpringBoot和Spring的区别是什么?
  • AI创作系统ChatGPT网站源码/支持DALL-E3文生图/支持最新GPT-4-Turbo模型+Prompt应用