Vector作为STL容器中的一员,使用频率非常高,因此对其基本用法和实用技巧进行记录,便于后期查询使用。

基本用法

#include <iostream>
#include <vector> using namespace std; /*
empty() 判断vector是否为空
size() 获取vector中元素的个数
clear() 清空vector
erase() 删除vector中指定内容的元素
push_back() 尾部插入元素(效率高)
pop_back() 尾部删除元素(效率高)
insert() 指定位置插入元素(效率低)
sort() 排序
reverse 反转
*/ int main()
{
vector<int> arr; arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back(); arr.pop_back(); // 删除4 sort(arr.begin(), arr.end()); // 排序 reverse(arr.begin(), arr.end()); // 反转 // 7 6 5 3
for(int i = ; i < arr.size(); i++)
{
cout << arr[i] << ends;
}
cout << endl; cout << arr.size() << endl; // 获取元素个数 arr.clear(); // 清空 cout << arr.size() << endl; // 获取元素个数 return ;
}

迭代删除(有坑)

#include <iostream>
#include <vector> using namespace std; int main()
{
vector<int> arr; arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back(); // erase接口返回的iterator指向下一个原生,此时不需要再次移动
for(vector<int>::iterator it = arr.begin(); it != arr.end(); )
{
if(*it == )
{
it = arr.erase(it); // 等效于arr.erase(it);
}
else
{
++it;
}
} for(int i = ; i < arr.size(); i++)
{
cout << arr[i] << ends;
}
cout << endl; return ;
}

查找(安全)

#include <iostream>
#include <vector> using namespace std; int main()
{
vector<int> arr; arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back();
arr.push_back(); vector<int>::iterator it = find(arr.begin(), arr.end(), );
if(it != arr.end())
{
cout << "find" << endl;
}
else
{
cout << "Not find" << endl;
} return ;
}

vector基本用法的更多相关文章

  1. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  2. STL中的Vector相关用法

    STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...

  3. C++学习二 vector的用法(使用sort对于vector排序)

    一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...

  4. STL vector常见用法详解

    <算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...

  5. POJ 1230 Pass-Muraille#贪心+vector迭代器用法

    (- ̄▽ ̄)-* (注意下面代码中关于iterator的用法,此代码借鉴某大牛) #include<iostream> #include<cstdio> #include< ...

  6. C++:vector的用法详解

    原文地址:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于 ...

  7. STL————vector的用法

    一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...

  8. C++序列容器之 vector常见用法总结

    一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...

  9. C++ STL(二)vector的用法

    ##### vector的定义 ```#include <iostream>#include <string>#include <vector>using name ...

随机推荐

  1. DNS bind使用

    概念介绍 DNS的分类 主DNS:配置管理,不提供服务,只用来编辑配置信息,给从DNS提供同步数据 从DNS:从主DNS上同步数据信息,对外提供服务 缓存DNS:在主DNS和从DNS之间,用来递归解析 ...

  2. django xadmin 配置过程

    1.拷贝xadmin的一个下的一个xadmin文件夹放到项目里

  3. 寓教于乐!一款游戏让你成为 Vim 高手!

    我们都知道,Vim 是 Linux 下一种非常重要的文本编辑器,我们可以用它来看代码.改代码,很多高手直接将 Vim 打造成一款强大的 IDE 用来写代码. 但是,对于新手而言,Vim 相对于其它编辑 ...

  4. Vuex怎么用(1)

    1. vuex是什么 github站点: https://github.com/vuejs/vuex在线文档: https://vuex.vuejs.org/zh-cn/简单来说: 对应用中组件的状态 ...

  5. phpstorm设置xdebug调试

    phpstorm设置xdebug调试# wamp开发环境安装完成以后,打开网页,输入 :localhost 检测xdebug是否开启 3.若xdebug已开启,请找到你wamp或者phpstudy的安 ...

  6. Java wait 和 sleep 的区别

    一.区别 sleep 来自 Thread 类,和 wait 来自 Object 类 sleep 方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或方法 wait,notify和 ...

  7. mysql语句基本练习

    select ename,job from emp where job in ('MANAGER','ANALYET','SALESMAN') 1.查询出工作岗位为MANAGER.ANALYST.SA ...

  8. Navicat15安装激活版教程

    navicat15安装 一键式安装,安装包如下 链接:https://pan.baidu.com/s/1VTJmJ7ulUySWoWBu-fugiw 提取码:fz5u 先安装软件包点击安装,一直下一步 ...

  9. C++中string转换为char*类型返回后乱码问题

    问题来源: 在写二叉树序列化与反序列化时发现序列化函数为char* Serialize1(TreeNode *root)  其函数返回类型为char*,但是我在实现的过程中为了更方便的操作添加字符串使 ...

  10. 阿里巴巴java-数据库开发手册(2020泰山版)

    阿里巴巴编程规范.数据库命名规范 首先感谢阿里,在此我也分享给小伙伴们学习,下载地址如下: 链接:https://pan.baidu.com/s/19SLpiJmyNEIKuRscftRk9Q 提取码 ...