1082 MANAGER vector+iterator

2024-08-30 04:08
文章标签 manager vector 1082 iterator

本文主要是介绍1082 MANAGER vector+iterator,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

sicily对格式的要求真是奇葩!

// Problem#: 1082
// Submission#: 2619361
// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
// All Copyright reserved by Informatic Lab of Sun Yat-sen University
#include<iostream>
#include<vector>using namespace std;int len,n,nb,op,maxx,minn;
int arr[100];
char ch;int main()
{bool flag=0;while(cin>>len){if(flag) cout<<endl;vector<int> vec1;vector<int>::iterator iter;vector<int> vec2;op=1;cin>>n;for(int i=0;i<n;i++)cin>>arr[i];while(cin>>ch){if(ch=='a'){cin>>nb;vec1.push_back(nb);}else if(ch=='r'){if(op==1){minn=len+1;for(int i=0;i<vec1.size();i++){minn=min(minn,vec1[i]);}for(iter=vec1.begin();iter!=vec1.end();iter++){if(*iter==minn){vec1.erase(iter);break;}}vec2.push_back(minn);          }if(op==2){maxx=0;for(int i=0;i<vec1.size();i++){maxx=max(maxx,vec1[i]);}for(iter=vec1.begin();iter!=vec1.end();iter++){if(*iter==maxx){vec1.erase(iter); break;}}vec2.push_back(maxx);}}else if(ch=='p'){cin>>nb;if(nb==1)op=1;else if(nb==2)op=2;}else if(ch=='e'){if(vec1.size()==0)cout<<"-1"<<endl;else{for(int i=0;i<n;i++){cout<<vec2[arr[i]-1]<<endl;}}       break;}}flag=1;}return 0;
}                                 

vector的两种遍历:

vector<int>vec;for(int i=0;i<vec.size();i++){vec[i];}

vector<int>vec;vector<int>::iterator iter;for(iter=vec.begin();iter!=vec.end();iter++){*iter;
}

vector 删除

  vec.erase(iter);
vec.erase(vec.begin(),vec.end());



这篇关于1082 MANAGER vector+iterator的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1119755

相关文章

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

模拟实现vector中的常见接口

insert void insert(iterator pos, const T& x){if (_finish == _endofstorage){int n = pos - _start;size_t newcapacity = capacity() == 0 ? 2 : capacity() * 2;reserve(newcapacity);pos = _start + n;//防止迭代

Oracle Enterprise Manager:Oracle数据库管理的高效工具

在数据库管理和维护中,Oracle Enterprise Manager(OEM)是一个强大的工具,它提供了一个集中的平台来监控、管理和优化Oracle数据库环境。通过使用Oracle Enterprise Manager,数据库管理员可以提高效率、减少手动干预并确保数据库系统的稳定性和性能。本文将详细介绍如何在Oracle中使用Oracle Enterprise Manager,包括其主要功能、

C++提高编程三(vector容器、deque容器)

文章目录 vector容器vector赋值操作vector容量和大小vector插入和删除vector数据存取vector互换容器vector预留空间deque容器构造函数deque赋值操作deque大小操作deque 插入和删除deque 数据存取deque 排序 vector容器 vector容器数据结构和数组相似,也称为单端数组。区别在于数组是静态空间,vector可以

Oracle(110)什么是RMAN(Recovery Manager)?

RMAN(Recovery Manager)是Oracle数据库提供的一个高效的备份和恢复工具。它能够简化和自动化复杂的备份和恢复操作,并且提供了强大的功能来确保数据的完整性和安全性。 RMAN 的主要功能 备份数据库:支持全备份、增量备份和归档日志备份。恢复数据库:支持从备份中恢复整个数据库或部分数据。克隆数据库:可以方便地创建数据库的副本。验证备份:确保备份数据的一致性和完整性。管理备份空

STL-vector

string中拷贝构造的现代写法 string(const string& s):_str(nullptr){string tmp(s);swap(_str,tmp._str);} //s1=s3string& operator=(string s){swap(_str,s._str);return *this;} s(由s3调拷贝构造而来)是一个临时对象出了作用域要调析构函数。

容器第二课,List,ArrayList,LinkedList,Vector用法详解

package com.pkushutong.Collection;import java.util.ArrayList;import java.util.Date;import java.util.List;public class Test01 {public static void main(String[] args) {List list = new ArrayList<>();/*

Error: label vector and instance matrix must be double的解决方法

在使用uci下载的数据时,建模时出现这个错误的解决方法 首先现在UCI上面下载数据 然后右键另存为就行了。这样我们就从UCI里面下载到了训练数据 在matlab 点 导入数据,数据类型要记得选第二个, 如果选择最后一个table就会出现这个问题 最后附上代码 %%之前先import wine.date IMPORTED DATA 设为Numeric Matrix (数值矩

【C++】C++ STL探索:Vector使用与背后底层逻辑

C++语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C++相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C++内存管理模板初阶String使用String模拟实现 在string类文章中提及了STL容器间的接口是大差不差的,本篇将直接通过模拟实现Vector来讲解底层实现与使用。 🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔