//STL基础
//容器
//vector #include "iostream"
#include "cstdio"
#include "vector"//向量
#include "iterator"//迭代器
#include "numeric"//accunulate()求和算法需要
#include "algorithm"//reverse()
using namespace std; bool cmp(const int a,const int b)
{
return a>b;//或a-b
} int main()
{
//创建vector对象
vector<int> v1;//为空
vector<int>v2();//初始长度为10,默认为10个0
vector<double>v3(,8.6);//初始化前10个数为8.6
vector<double>v4(v3);//v4是v3的一个副本 //尾部添加元素
v3.push_back(8.6); //获取向量长度的方法
int size03=v3.size();
cout<<size03<<endl; //下标访问法
for(int i=;i<size03;i++){
cout<<v3[i]<<" ";
}
cout<<endl;
//迭代器访问法
vector<double>::iterator it;//定义一迭代器
for(it=v3.begin();it!=v3.end();it++){//v3.begin()为v3这个向量第一个元素的地址,
// v3.end()为最后一个元素的后一个地址
cout<<(*it)<<" "; //注意.begin()为向量获取首元素地址的方法,括号不可忘
}
cout<<endl; //求和算法,accumulate() 头文件 #include "algorithm"返回值为整型,前两个参数为指针(前闭后开区间),
//第三个参数a,为在区间元素和的基础上+a,不可省
int sum02=accumulate(v2.begin(),v2.end(),);
cout<<sum02<<endl; //vector元素的插入
v3.insert(v3.begin(),);//在第0个元素前插入8,8成为第0个元素
v3.insert(v3.begin()+,);//在第2个元素前插入1,1成为第2个元素
v3.insert(v3.end(),);//在向量末尾追加8
v3.insert(v3.end()-,);//在第1个元素前插入99,99成为第2个元素
//注意这种会出错,内存越界 v3.insert(v3.end()+1,99); //vector元素的删除
v3.erase(v3.begin()+);//s删除下表为2 即第三个元素
v3.erase(v3.begin()+,v3.begin()+);//删除一段 删除2个(下标为3和4),(参数前闭后开) v3.clear();//清空向量,长度为0 //vector元素反向排序
//reverse()反向排列算法 头文件#include "algorithm"
//可使向量中某段迭代器区间反向排列
vector<int>v;
reverse(v.begin(),v.end()); //sort()算法,对vector内元素排序 #include "algorithm"
sort(v.begin(),v.end());//默认升序 //若要降序
//法一
/*bool cmp(const int a,const int b)
{
return a>b;//或a-b
}*/
sort(v.begin(),v.end(),cmp);
//法二
sort(v.rbegin(),v.rend());
//法三
sort(v.begin(),v.end(),greater<int>()); //vector 去重 只去相邻的重的,所以常先排序在操作
//unique() #include "iostream"
int size=unique(v.begin(),v.end())-v.begin();//因为并不把重复的元素真正删除,
//而是放于后面,返回去重后最后一个元素首地址 //vector判断是否为空
v.empty(); }

vector基础的更多相关文章

  1. vector基础操作

    //vector< T> vec; //构造一个名为vec的储存数据类型为T的动态数组.其中T为需要储存的数据类型 //初始时vec为空 //push_back 末尾添加一个元素 //po ...

  2. vector 基础2

    size  :返回有效元素个数 max_size  :返回 vector 支持的最大元素个数 resize  :改变有效元素的个数 capacity  :返回当前可使用的最大元素内存块数(即存储容量) ...

  3. vector 基础

    http://classfoo.com/ccby/article/jnevK Vector的存储空间是连续的,list不是连续存储的 vector初始化 vector<int>v; //不 ...

  4. 66)vector基础总结

    基本知识: 1)vector 样子  其实就是一个动态数组: 2)vector的基本操作: 3)vector对象的默认构造 对于类  添加到  容器中  要有  拷贝构造函数---> 这个注意 ...

  5. Android Vector曲折的兼容之路

    Android Vector曲折的兼容之路 两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不 ...

  6. java数据结构-Vector

    1 Vector基础实现为数组 object[] synchronized线程安全 2 扩容使用  System.arraycopy(original, 0, copy, 0,Math.min(ori ...

  7. C++【vector】用法和例子

    /*** * vector 基础api复习 * 8 AUG 2018 */ #include <iostream> #include <vector> using namesp ...

  8. Faster-RCNN tensorflow 程序细节

    tf-faster-rcnn github:https://github.com/endernewton/tf-faster-rcnn backbone,例如vgg,conv层不改变feature大小 ...

  9. [Java] 集合框架原理之一:基本结构与源码分析

    一.Collection Collection 接口定义了一些基本的方法: int size(); boolean isEmpty(); boolean add(E e); boolean addAl ...

随机推荐

  1. css贝塞尔曲线模仿饿了么购物车小球动画

    在线观看贝塞尔曲线值:传送门 在线观看动画效果:传送门 代码: <!DOCTYPE html> <html> <head> <meta charset=&qu ...

  2. jQuery File Upload文件上传插件简单使用

    前言 开发过程中有时候需要用户在前段上传图片信息,我们通常可以使用form标签设置enctype=”multipart/form-data” 属性上传图片,当我们点击submit按钮的时候,图片信息就 ...

  3. Red and Black(DFS深搜实现)

    Description There is a rectangular room, covered with square tiles. Each tile is colored either red ...

  4. 第一章 持续集成jenkins工具使用之部署

    1.1 硬件要求 内存:至少512MB 磁盘空间:10G JDK8 最好同时安装jre 从官网https://jenkins.io/download/下载最新的war包(Generic Java Pa ...

  5. div、span绑定内容改变事件

    内容改变事件onchange只适用于form表单标签(input.select.textarea) 当需要对div.span标签进行内容改变监听则无法适用,查阅了一些资料发现jquery有针对的方法, ...

  6. ASP.NET MVC4中使用bootstrip模态框时弹不出的问题

    最近发现使用在MVC中使用bootstrip的模态框时弹不出来,但单独建立一HTML文件时可以弹出,说明代码没有问题,经过多次测试发现,在MVC的cshtml文件中添加上以下语句就能正常 @{ Lay ...

  7. 2011 Multi-University Training Contest 7 - Host by ECNU

    AC: F I. rank 40/88. 开场看了F发现是个简单的DP,随便写了一下WA,,,发现把样例倒着输就过不了了...原来是忘了最后的时候开始上课的话可能上不了多久... 想到一个简洁的状态方 ...

  8. 【bzoj1737】[Usaco2005 jan]Naptime 午睡时间 dp

    题目描述 Goneril is a very sleep-deprived cow. Her day is partitioned into N (3 <= N <= 3,830) equ ...

  9. 【codevs1282】约瑟夫问题 Treap

    题目描述 有编号从1到N的N个小朋友在玩一种出圈的游戏.开始时N个小朋友围成一圈,编号为I+1的小朋友站在编号为I小朋友左边.编号为1的小朋友站在编号为N的小朋友左边.首先编号为1的小朋友开始报数,接 ...

  10. Codeforces VK Cup 2015 A.And Yet Another Bracket Sequence(后缀数组+平衡树+字符串)

    这题做得比较复杂..应该有更好的做法 题目大意: 有一个括号序列,可以对其进行两种操作: ·        向里面加一个括号,可以在开头,在结尾,在两个括号之间加. ·        对当前括号序列进 ...