C++ STL ③

news2024/11/25 18:37:00

sort排序

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
 	int a[5],i;
 	cout<<"请输入数组元素:"<<endl;
 	for(i=0;i<5;i++){
 		cin>>a[i];
	 }
	 sort(a,a+5,greater<int>());
	 for(i=0;i<5;i++){
	 	cout<<a[i]<<" ";
	 }
	 cout<<endl;
	return 0;
}

vector容器

#include <iostream>
#include<vector>
#include <algorithm>
using namespace std;

int main() {
 	vector<int> a;//定义vector容器 
 	//从容器尾部插入元素  
	a.push_back(98);
	a.push_back(34);
	a.push_back(56);
	a.push_back(78);
	a.push_back(23);
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl;
	a.insert(a.begin()+3-1,58);//插入值58到第3个位置 
	a.pop_back();//删除最后一个元素 
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl;
	reverse(a.begin(),a.end());
	for(int i=0;i<a.size();i++){//调用vector的函数size() 计算a有几个元素 
		cout<<a[i]<<" ";		
	} 
	cout<<endl; 
	return 0;
}

运行结果为:在这里插入图片描述
list容器

#include <iostream>
#include<list>
#include <algorithm>
using namespace std;
//自定义模板函数  
template<typename T>
void print(list<T> mylist){
	typename list<T>::iterator it;//创建list的iterator迭代器 
	for(it=mylist.begin();it!=mylist.end();it++){
		cout<<*it<<" ";
	} 
	cout<<endl;
}
int main() {
 	list<int> lt;//创建空的list容器it 
	//list是双向的 
	lt.push_front(34);
 	lt.push_front(56);
	lt.push_front(78);
	lt.push_back(23);
	lt.push_back(98);
	lt.push_back(99); 
	print(lt);//调用自定义的模板函数  
	lt.sort(greater<int>());//将list容器里的数据进行降序排列 
	cout<<"max="<<*lt.begin()<<endl;//list第一个元素就是最大值  
	lt.sort();//再将list容器里的数据进行升序排列 
	lt.remove(98);//删除元素98 
	print(lt);
	return 0;
}

运行结果:
在这里插入图片描述
set容器

#include <iostream>
#include<set>
#include<functional>
using namespace std;

int main() {
	set<int> s;//创建一个空的set容器,默认为升序排列  
	//向元素中插入元素  
	s.insert(23);
	s.insert(56);
	s.insert(18);
	s.insert(23);
	s.insert(79);
	s.insert(56);
	set<int>::iterator its;//创建容器s的迭代器,用于获取元素 
	for(its=s.begin();its!=s.end();its++){
		cout<<*its<<" ";
	} 
	cout<<endl;
	//调用find函数 
	cout<<"是否存在56:"<<(s.find(56)!=s.end()?1:0)<<endl;
	cout<<"是否存在99:"<<(s.find(99)!=s.end()?1:0)<<endl; 
	//调用erase函数 删除元素  
	s.erase(s.begin());
	//调用insert函数  插入元素 
	s.insert(88);
	for(its=s.begin();its!=s.end();its++){
		cout<<*its<<" ";
	} 
	cout<<endl;
	return 0;
}

运行结果:
在这里插入图片描述
map容器

#include <iostream>
#include<map>
#include<functional>
#include<string>
using namespace std;
void printm(map<int,char> mymap){
	pair<int,char> p;//创建pair对象p,其实就是键值对 
	map<int,char>::iterator it;//定义map的iterator迭代器it 
	for(it=mymap.begin();it!=mymap.end();it++){
		p=(pair<int,char>)*it;//将迭代器指向的一对元素存放到p中 
		cout<<p.first<<"->"<<p.second<<endl; 
	} 
}
int main() {
	map<int,char> m;//创建map对象m 
	m[10]='A';
	m[11]='B';
	m[12]='C';
	m[13]='D';
	m[14]='E';
	m[15]='F';
	printm(m);
	return 0;
}

运行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1849373.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

系统架构师考点--数据库系统

大家好。今天我来总结一下数据库系统的相关考点。本考点一般情况下上午场考试占3-5分&#xff0c;下午场案例分析题也会出现。 一、数据库系统 数据&#xff1a;数据库中存储的基本对象&#xff0c;是描述事物的符号记录。数据的种类:文本、图形、图像、音频、视频、学生的档…

基于Redis和openresty实现高并发缓存架构

目录 概述缓存架构设计实践代码路由业务封装redis 效果 概述 本文是对项目中 QPS 高并发相关问题的一种解决方案&#xff0c;利用 Nginx 与 Redis 的高并发、超低延迟响应&#xff0c;结合 Canal 进行实现。 openrestry官网 当程序需要提供较高的并发访问时&#xff0c;往往需…

状态压缩DP——AcWing 291. 蒙德里安的梦想

状态压缩DP 定义 状态压缩DP是一种利用二进制数来表示状态的动态规划算法。它通过将状态压缩成一个整数&#xff0c;从而减少状态数量&#xff0c;提高算法效率。 运用情况 状态压缩DP通常用于解决具有状态转移和最优解性质的问题&#xff0c;例如组合优化、图论、游戏等问…

UDS服务——TransferData (0x36)

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍TransferData (0x36)—— 数据传输,用于下载/上传数据时用的,数据的传输方向由不同的服务控制:0x34服务表示下载,0x35服务表示上传。通过阅读本文,希望能对你有所帮助。 文章目录 诊断协议那些事儿传输数据服务…

Redis-事务-watch-unwatch

文章目录 1、监视key2、提交事务 1、监视key 打开两个窗口&#xff0c;第一个窗口先监视key&#xff0c;然后开始事务&#xff0c;然后再打开第二个窗口&#xff0c;修改balance为0 2、提交事务 此时事务被打断

银河麒麟V10 SP1.1操作系统 离线安装 nginx1.21.5、redis 服务

银河麒麟官网地址&#xff1a;国产操作系统、麒麟操作系统——麒麟软件官方网站 一、查看系统版本 命令&#xff1a;nkvers 我的是 release V10 (SP1)&#xff0c;根据这个版本去官网找对应的rpm包 银河麒麟操作系统的rpm包必须从官方找&#xff0c; 要是随便找个Centos的rp…

1.SG90

目录 一.实物图 二.原理图 三.简介 四.工作原理 一.实物图 二.原理图 三.简介 舵机&#xff08;英文叫Servo&#xff09;&#xff0c;是伺服电机的一种&#xff0c;伺服电机就是带有反馈环节的电机&#xff0c;这种电机可以进行精确的位置控制或者输出较高的扭矩。舵机…

基于深度学习的图像识别技术与应用是如何?

基于深度学习的图像识别技术与应用在当今社会中扮演着越来越重要的角色。以下是对该技术与应用的详细解析&#xff1a; 一、技术原理 深度学习是一种模拟人脑处理和解析数据的方式的技术和方法论。在图像识别领域&#xff0c;深度学习主要通过深度神经网络&#xff08;如卷积…

我理解的文本表示模型

词袋模型与N-grams模型 1 词袋模型 (Bag of Words)1.1 one-hot 取值 (Binary)1.2 Term Frequency 取值 (TF)普通频数 r a w t f raw_{tf} rawtf​频率范数归一化对数频数 1.3 Inverse document frequency (IDF)1.4 TF-IDF scores 取值 N-Gram 最简单的文本建模场景&#xff1a…

定义多个类对象,分别输入和输出各对象中的时间(时:分:秒)

在前面的文章中&#xff0c;类中只有公用数据而无成员函数&#xff0c;而且只有1个对象。可以直接在主函数中进行输入和输出。若有多个对象&#xff0c;需要分别引用多个对象中的数据成员&#xff0c;可以写出如下程序&#xff1a; &#xff08;1&#xff09;编写程序&#xff…

stata17中java installation not found或java not recognozed的问题

此问题在于stata不知道去哪里找java,因此需要手动的告诉他 方法1&#xff1a; 1.你得保证已经安装并配置好java环境 2.在stata中输入以下内容并重启stata即可 set java_home "D:\Develope\JDk17" 其中java_home后面的""里面的内容是你的jdk安装路径 我的…

【Java算法】滑动窗口 上

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【算法工作坊】算法实战揭秘 &#x1f456;一. 长度最小的子数组 题目链接&#xff1a;209.长度最小的子数组 算法原理 滑动窗口 滑动窗口算法常用于处理数组/字符串等序列问题&#xff0c;通过定义一…

IKVM.net调用Jar包实现SM4解密

近期&#xff0c;我深入学习了如何使用IKVM.net来调用Jar包&#xff0c;这次的学习经历让我对Java与.NET之间的互操作性有了更深刻的理解。IKVM.net作为一款强大的工具&#xff0c;为我们打通了Java与.NET之间的桥梁&#xff0c;使得在.NET环境中调用Java库变得简单而高效。 在…

生产环境安装odoo

odoo可以在多平台运行&#xff0c;但是在生产环境下官方不建议在Windows平台部署。在Windows下可能不能很好的支持一服务多worker的形式&#xff0c;更推荐在Linux下部署。 常见的Linux如Ubuntu、Debian等Debian系或Redhat系都能执行官网的包安装。 地址&#xff1a;Download |…

使用Jetpack Compose为Android App创建自定义页面指示器

使用Jetpack Compose为Android App创建自定义页面指示器 在现代移动应用中&#xff0c;页面指示器在提供视觉导航提示方面发挥着重要作用&#xff0c;帮助用户理解其在应用内容中的当前位置。页面指示器特别适用于顺序展示内容的场景&#xff0c;如图片轮播、图像库、幻灯片放…

Python3简单实现与Java的Hutool库SM2的加解密互通

1、背景&#xff1a; 因业务需求&#xff0c;需要与某平台接口对接。平台是Java基于Hutool库实现的SM2加密解密&#xff0c;研究了下SM2的加解密算法&#xff0c;网上找的资料&#xff0c;都是说SM2【椭圆曲线】 公钥长【x,y分量 64字节】&#xff0c;私钥短【32字节】&#x…

ChatTTS增强版V3【已开源】,长文本修复,中英混读,导入音色,批量SRT、TXT

ChatTTS增强版V3来啦&#xff01;本次更新增加支持导入SRT、导入音色等功能。结合上次大家反馈的问题&#xff0c;修复了长文本、中英混读等问题。 项目已开源(https://github.com/CCmahua/ChatTTS-Enhanced) 项目介绍 V3 ChatTTS增强版V3&#xff0c;长文本修复&#xff0c…

拔河【码蹄杯】/二分

拔河 二分 思路&#xff1a;二分平均力量值&#xff0c;并在check中利用前缀和判断。 #include<bits/stdc.h> using namespace std; typedef long long ll; ll a[100005]; double sum[100005]; ll f,n; bool check(double x) {double dx;double mn0;for(int i1;i<n;…

【MySQL进阶之路 | 高级篇】InnoDB存储结构

1. 数据库的存储结构 : 页 索引结构给我们提供了高效的索引方式&#xff0c;不过索引信息以及数据记录都是保存在文件上的.确切说是存储在页结构中.另一方面&#xff0c;索引是在存储引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读取和写入操作.不同的存…

助力数据跨境,最新政策解读与应用实践分享

6月13日&#xff0c;VERYCLOUD睿鸿股份联合深数所企业数据合规服务南山工作站、亚马逊云科技&#xff0c;在深圳南山区共同主办了一场关于《数据出境合规之路——法规解析与实践探索》研讨会。 VERYCLOUD睿鸿股份是南山大数据产业协会的副会长单位。南山大数据产业协会作为深圳…