蓝桥杯省赛无忧 STL 课件12 vector

01 vector的定义和特性


02 vector的常用函数

03 vector排序去重


示例:

csharp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
	vector<int> vec ={5,2,8,1,9};
	sort(vec.begin(),vec.end());
	for(const auto& num : vec){
		cout<<num<<" ";
	}
	return 0;
}

输出:


示例:

csharp 复制代码
#include<bits/stdc++.h>
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;
}

输出:

这样,vector中的重复元素被去除,只保留了不重复的元素。

04 代码示例

csharp 复制代码
#include<bits/stdc++.h>
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()));
	//打印去重后的向量
	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;	 
}
相关推荐
txp玩Linux20 分钟前
rk3568上解析webrtc音频降噪算法处理流程
算法·音视频·webrtc
立志成为大牛的小牛37 分钟前
数据结构——五十二、散列函数的构造(王道408)
数据结构·笔记·程序人生·考研·算法
希望有朝一日能如愿以偿1 小时前
力扣每日一题:可被三整除的最大和
数据结构·算法·leetcode
阿波茨的鹅2 小时前
VSCode C++ 项目配置教程
c++·ide·vscode
热心网友俣先生2 小时前
2025年APMCM亚太数学建模C题AI+人工精翻版本+数据收集方式介绍+数据分享
c语言·人工智能·数学建模
闲猿类2 小时前
嵌入式第九天学习
linux·c语言·学习·算法·嵌入式
轻微的风格艾丝凡2 小时前
光伏 MPPT 算法介绍
人工智能·算法·光伏
程序员与背包客_CoderZ2 小时前
C/C++版LLM推理框架Llama.cpp——入门与编码实战
c语言·开发语言·网络·c++·人工智能·语言模型·llama
喵了几个咪2 小时前
C++ IDE:最适合 C++ 初学者的 IDE 是什么?
开发语言·c++·ide
2501_941802482 小时前
C++高性能并发编程实战:从多线程管理到内存优化与任务调度全流程解析
java·开发语言·c++