vertor容器
头文件#include<vector>
1.创建vector对象
1.不指定容器大小 vector <int> v;
2.指定容器大小 vector <double> v(10);
3.附带初值 vector <double> b(10,8.6);//此容器有十个元素,每一个都是8.6;
2.元素的插入
insert()方法可以在vector容器的任意位置插入一个元素,同时所有后面的元素向后移动一位。注意:需要用迭代器;
3.元素的删除
erase()方法可以删除vector中迭代器所指的一个元素或者一段区间中的元素;clear()方法则一次性删除vector中的所有元素。
#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
bool comp(const int &a,const int &b)
{
if(a!=b)return a>b;
else return a>b;
}
using namespace std;
int main()
{
vector<int>v;//定义verctor容器v;
v.push_back(2);//随时向尾部添加元素
v.push_back(5);
v.push_back(7);
v.push_back(9);
v.push_back(11);
v.push_back(13);
for(int i=0;i<6;i++)
printf("%d ",v[i]);//下标法访问vector元素;
printf("\n");
//迭代器法访问vector容器元素;
vector<int>::iterator it;//定义迭代器变量it
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";//输出迭代器上的元素;
cout<<endl;
//元素的插入;
v.insert(v.begin(),8);
v.insert(v.begin()+3,4);//在第三个元素前插入4,注意是原始容器的第三个元素之前;
for(it=v.begin();it!=v.end();it++)
printf("%d ",*it);
printf("\n");
//元素的删除;
v.erase(v.begin()+2);//删除第二个元素;
v.erase(v.begin()+3,v.begin()+5);//删除3到5的元素;
for(it=v.begin();it!=v.end();it++)
printf("%d ",*it);
printf("\n");
/*v.clear();//清空容器中的元素;
printf("%d\n",v.size());//输出容器的大小;*/
reverse(v.begin(),v.end());//反向排列容器中的所有元素;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
sort(v.begin(),v.end());//sort排序;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
sort(v.begin(),v.end(),comp);//使用comp函数反向排序;
for(it=v.begin();it!=v.end();it++)
cout<<*it<<" ";
cout<<endl;
cout<<v.empty()<<endl;//判断容器是否为空;
v.clear();
cout<<v.empty()<<endl;
return 0;
}
vertor容器的更多相关文章
- 【38】java的集合框架(容器框架)
Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements).一些 Collection允许相同的元 ...
- c++复习:STL之容器
1 STL的string 1 String概念 string是STL的字符串类型,通常用来表示字符串.而在使用string之前,字符串通常是用char*表示的.string与char*都可以用来表示字 ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网页提交中文到WEB容器的经历了些什么过程....
先准备一个网页 <html><meta http-equiv="Content-Type" content="text/html; charset=gb ...
- [Spring]IoC容器之进击的注解
先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...
- 深入理解DIP、IoC、DI以及IoC容器
摘要 面向对象设计(OOD)有助于我们开发出高性能.易扩展以及易复用的程序.其中,OOD有一个重要的思想那就是依赖倒置原则(DIP),并由此引申出IoC.DI以及Ioc容器等概念.通过本文我们将一起学 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- JS判断鼠标进入容器方向的方法和分析window.open新窗口被拦截的问题
1.鼠标进入容器方向的判定 判断鼠标从哪个方向进入元素容器是一个经常碰到的问题,如何来判断呢?首先想到的是:获取鼠标的位置,然后经过一大堆的if..else逻辑来确定.这样的做法比较繁琐,下面介绍两种 ...
- docker4dotnet #2 容器化主机
.NET 猿自从认识了小鲸鱼,感觉功力大增.上篇<docker4dotnet #1 前世今生&世界你好>中给大家介绍了如何在Windows上面配置Docker for Window ...
随机推荐
- 教务处sso设计缺陷
前言 刚学习python,觉得比较枯燥总不知道从哪里入手,偶然一次,同学让我帮忙看看选课,发给我的是学校统一的默认格式的密码,突然就想试试有多少人还是默认密码,从QQ群里找了一份学生信息尝试了一下,发 ...
- Spire.XLS 在程序中直接打印excel
上代码 if (tbPrintSetBindingSource.Current == null) return; var item_TbPrintSet = tbPrintSetBindingSour ...
- Ubuntu操作相关笔记
Eclipse添加图标 #sudo vim /usr/share/applications/eclipse.desktop 写入以下内容 [Desktop Entry] Name=Eclipse Co ...
- android 5.0 -- 主题
系统提供默认的三种主题样式 @android:style/Theme.Material (dark version) @android:style/Theme.Material.Light (ligh ...
- Android的JNI(NDK)使用备忘
1.在cygwin中给ndk-build工具设置环境变量,使其在任何目录下可以被调用:在cygwin的安装目录:C:\cygwin下找到etc目录,再打开其中的profile文件,再其path行增加n ...
- 关于requirejs中的define的原理理解
我们已经了解到模块模式是为单例创建私有变量和特权方法的. 一个最基本的例子: var foo=(function(){ var something='cool', var another=[1,2,3 ...
- GIAC全球互联网架构大会——互联网技术架构未来
GIAC全球互联网架构大会是高可用架构技术社区推出的面向架构师.技术负责人及高端技术从业人员的技术架构大会.中国拥有全球最大的互联网用户及移动互联网用户,如何使用合适的架构来搭建互联网系统,是每一个互 ...
- OMCS开发手册(01) -- 多媒体设备管理器
我们在前面一篇文章中提到:任何一个OMCS的Client都有两种身份,Owner和Guest.多媒体设备管理器工作于OMCS客户端,并以Owner的身份管理本地所有的多媒体设备.多媒体设备管理器对象是 ...
- LeetCode OJ 33. Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- vultr vps官网改版免费注册教程(最新优惠码)
本站强烈推荐的,国外超高性价比vps服务器Vultr官方网站最近更新了,导致一些朋友心生茫然,今天写个简易教程给大家. 首先是打开vultr官网,免费注册一个vultr账号.填写邮箱地址.密码,非常简 ...