//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. 数据库性能优化之SQL优化

    网上有关SQL优化的方案有很多,但多是杂乱无章.近日闲暇抽空整理了一下,方便大家以后的查阅,若发现其中有什么问题和不全,欢迎大家在下面纠正和补充: 1. 对于SQL语句的性能优化,主要体现在对于查询语 ...

  2. 在linux下如何显示隐藏文件

    #显示所有文件(包含隐藏文件)ls -a #只显示隐藏文件l.或者ls -d .* #在XWindow的KDE桌面中在"查看(View)"菜单里选"显示隐藏文件(Show ...

  3. Sqoop 1.4.6 安装配置

    配置环境变量 # SQOOP SQOOP_HOME=/home/hadoop/development/src/sqoop-1.4.6-cdh5.6.0 PATH=$PATH:$SQOOP_HOME/b ...

  4. 刚装的vs无法运行正确的程序

  5. 【转载】用C#编写一个简单的记事本

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  6. hdu 2686 Matrix && hdu 3367 Matrix Again (最大费用最大流)

    Matrix Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  7. [LOJ#2340] [WC2018] 州区划分

    题目链接 洛谷题面. LOJ题面.还是LOJ机子比较快 Solution 设\(f(s)\)表示选\(s\)这些城市的总代价,那么我们可以得到一个比较显然的\(dp\): \[ f(s)=\frac{ ...

  8. BZOJ3238:[AHOI2013]差异——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3238 https://www.luogu.org/problemnew/show/P4248 参考 ...

  9. HDOJ(HDU).2044-2049 递推专题

    HDOJ(HDU).2044-2049 递推专题 点我挑战题目 HDU.2044 题意分析 先考虑递推关系:从1到第n个格子的时候由多少种走法? 如图,当n为下方格子的时候,由于只能向右走,所以有2中 ...

  10. 两年Java的面试经验

    前言:从过年前就萌生出要跳槽的想法,到过年来公司从3月初提出离职到23号正式离职,上班的时间也出去面试过几家公司,后来总觉的在职找工作总是得请假,便决心离职后找工作.到4月10号找到了一家互联网公司成 ...