vector基本用法
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基本用法的更多相关文章
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- STL中的Vector相关用法
STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...
- C++学习二 vector的用法(使用sort对于vector排序)
一.vector的介绍 vector是C++里面的一个容器,也是我们数学上面理解的向量,有一些比较常见的操作. 二.vector的定义 #include<vector> using nam ...
- STL vector常见用法详解
<算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...
- POJ 1230 Pass-Muraille#贪心+vector迭代器用法
(- ̄▽ ̄)-* (注意下面代码中关于iterator的用法,此代码借鉴某大牛) #include<iostream> #include<cstdio> #include< ...
- C++:vector的用法详解
原文地址:http://blog.csdn.net/hancunai0017/article/details/7032383 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于 ...
- STL————vector的用法
一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...
- C++序列容器之 vector常见用法总结
一.关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确. vector是一个动态的序列容器,相当于一个size可变的数组. 相比于数组,vector会消耗更多的内存以有效的 ...
- C++ STL(二)vector的用法
##### vector的定义 ```#include <iostream>#include <string>#include <vector>using name ...
随机推荐
- 运行 docker .... 命令报错
一.检查 Linux 上是有存在 docker [root@localhost bin]# docker version 不存在 docker 时,可以使用如下命令下载 docker [root@lo ...
- git merge整理
========================================================== git bash merge 一.开发分支(dev)上的代码达到上线的标准后,要合 ...
- 全)Java从单体到微服务打造房产销售平台 2018年慕课网 高清视频+源码
第1章 课程介绍本章从整体上介绍课程有什么收获,以及课程如何安排,其中包括微服务的两个不同学习阶段--单体开发阶段(基于SpringBoot)和微服务改造阶段(基于SpringCloud),知识点梳理 ...
- 信息收集-DNS
首先更正一个小白很普遍的错误观点,www.baidu.com(严格上是www.baidu.com. 这个点是根的意思,所有的记录从这里开始)并不是一个真正意义上的域名,而是百度服务器的A记录,baid ...
- SpringMVC中Map、Model、ModelMap、ModelAndView之间的关系及区别
首先,在了解这三者之前,需要知道一点:SpringMVC在调用方法前会创建一个隐含的数据模型(Model),作为模型数据的存储容器, 成为”隐含模型”. 如果controller方法的参数为Moedl ...
- 用JS实现改变文本框的只读属性
<input id="aaa" readonly><input id="bbb" readonly> <script>doc ...
- 看源码,重新审视Spring Security中的角色(roles)是怎么回事
在网上看见不少的博客.技术文章,发现大家对于Spring Security中的角色(roles)存在较大的误解,最大的误解就是没有搞清楚其中角色和权限的差别(好多人在学习Spring Security ...
- 01 . SaltStack部署配置及简单应用
SaltStack简介 SaltStack saltstack是一个新的基础平台管理工具,只需要花费数分钟即可运行起来,可以支撑管理上万台服务器的规模,数秒钟即可完成数据传递. saltstack是使 ...
- css如何让文字不换行显示?
在CSS中,可以通过white-space属性来实现文字不换行显示:只要将white-space属性的值为nowrap就可强制文字不换行. white-space属性指定元素内的空白怎样处理.它有以下 ...
- C++栈(stack)、队列(queue)、链表(list)的常用函数
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构.1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一 ...