蓝桥杯 vector

vector的定义和特性


注意:vector需要开C++11标准

vector的常用函数

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

示例

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

vector排序去重

示例

cpp 复制代码
#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;
}



代码示例

cpp 复制代码
#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;
}


相关推荐
CoovallyAIHub14 分钟前
全球OCR新标杆!百度0.9B小模型斩获四项SOTA,读懂复杂文档像人一样自然
深度学习·算法·计算机视觉
weixin_3776348417 分钟前
【强化学习】RLMT强制 CoT提升训练效果
人工智能·算法·机器学习
雨落在了我的手上38 分钟前
C语言趣味小游戏----扫雷游戏
c语言·游戏
拾光Ծ42 分钟前
【C++高阶数据结构】红黑树
数据结构·算法
Qiuner1 小时前
《掰开揉碎讲编程-长篇》重生之哈希表易如放掌
数据结构·算法·leetcode·力扣·哈希算法·哈希·一文读懂
艾莉丝努力练剑1 小时前
【C++模版进阶】如何理解非类型模版参数、特化与分离编译?
linux·开发语言·数据结构·c++·stl
草莓熊Lotso1 小时前
基于容器适配器模式的 Stack 与 Queue 实现:复用底层容器的优雅设计
c++·网络协议·rpc·适配器模式
立志成为大牛的小牛1 小时前
数据结构——二十五、邻接矩阵(王道408)
开发语言·数据结构·c++·学习·程序人生
cici158741 小时前
基于MATLAB的ADS-B接收机卫星与接收天线初始化实现
算法·matlab
007php0071 小时前
猿辅导Java面试真实经历与深度总结(二)
java·开发语言·python·计算机网络·面试·职场和发展·golang