c++中vector容器的功能及应用。
vector基本操作:
1.头文件 #include<vector>。 注:一定要加上using namespace std;
2.vector对象的创建: vector<int/char/string/基本数据类型/自定义类型/结构体类型/.....>vec ; (以下以int类型为例)
3.vector对象尾部插入数据: vec.push_back(a); 注意: vector对象的下标从0开始!!!!!
4.vector对象尾部删除数据: vec.pop_back(a);
5.vector中定位函数: vec.at(i); //相当于vec[i];
6.vector中第一个元素的指针: vec.begin();
7.vector中最后一个元素+1的指针:vec.end();
8.vector中得到第一个元素的值: vec.front();
9.vector中得到最后一个元素的值: vec.back();
10.判断vector是否为空: vec.empty();
11.交换vector两个容器的值: vector<int>a.swap(vec);
12.vector对象的访问:vec[0],vec[1],vec[2]..............
使用迭代器访问vector中的元素
vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl; //遍历所有元素~
13.vector元素的插入: vec.insert(vec.begin()+i,a); 在第 i+1 个元素前面插入a.
14.vector元素的删除: vec.erase(vec.begin()+2); 删除逻辑上的第3个元素,即vec[2],且后面元素自动前移一个位置。
vec.erase(vec.begin()+i,vec.begin()+j); 删除区间[i,j-1]的元素;
15.vector中元素的个数: int count = vec.size();
16.vector对象的清空: vec.clear();
17.vector中元素的翻转:reverse(vec.begin(),vec.end()); 注:reverse()函数需要头文件 #include<algorithm>
18 .vector中元素的排序:
#include <algorithm>
bool cmp(int a,int b){
return a>b;
}
sort(vec.begin(),vec.end()); // 按升序排序
sort(vec.begin(),vec.end(),cmp); // 按降序排序
19.vector中元素的去重:
//在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,
//是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,
//因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int a[]= {,,,,,,,,};
vector<int> vec(a,a+); sort(vec.begin(), vec.end()); //一定要排序!!!!!!
vector<int>::iterator iter = unique(vec.begin(),vec.end());
vec.erase(iter,vec.end());
for( iter = vec.begin() ; iter != vec.end() ; iter ++ )
cout<<*iter<<" ";
return ;
}
参考 http://www.cnblogs.com/wang7/archive/2012/04/27/2474138.html
c++中vector容器的功能及应用。的更多相关文章
- C++中vector容器的常用操作方法实例总结
C++中vector容器的常用操作方法实例总结 参考 1. C++中vector容器的常用操作方法实例总结: 完
- C++中vector 容器的基本操作
vector是一种简单高效的容器,具有自动内存管理功能.对于大小为n的vector容器,它的元素下标是0~n-1. vector有二个重要方法: begin(): 返回首元素位置的迭代器. ...
- (转载)C++STL中vector容器的用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...
- STL中vector容器实现反转(reverse)
vector容器中实现可以通过以下两种方式实现: #include "stdafx.h" #include <vector> #include <iostream ...
- C++STL库中vector容器常用应用
#include<iostream> #include<vector> #include<algorithm> using namespace std; int m ...
- c++中set容器的功能及应用。
set的特性是,所有元素都会根据元素的键值自动排序(默认为升序),set中不允许两个元素有相同的键值. set基本操作: 1.头文件 #include<set>. 注:一定要加上using ...
- Go语言中使用切片(slice)实现一个Vector容器
Go语言中的切片(slice)和一些内置函数能实现其他语言容器类Array.Vector的功能,但是Go内置语言包container里只提供了list.heap.ring三种容器,缺少vector容器 ...
- STL中vector、list、deque和map的区别
1 vector 向量 相当于一个数组 在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capac ...
- 【转】STL中vector、list、deque和map的区别
1.vector 向量 相当于一个数组 在内存中分配一块连续的内容空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数 ...
随机推荐
- JavaScript命名——name不能做变量名
使用name作为变量名(var name = ‘’),在IE中未引起bug,在Chrome中引起bug但未明确指出命名错误,而是会报其他错误,故不便于发现. 现象原因: javascript中name ...
- Python+selenium之测试报告(3)
较测试报告(2),该文章将测试报告和测试截图存放在随机变动的文件夹下面,去除了要存放在指定文件夹下面的限制. 注:遇到问题有: 1.创建由时间自动拼接的多级文件夹 2. import os impor ...
- 洛谷 P3387 【模板】缩点
题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...
- Git初始化仓库
Git global setup: git config --global user.name "再见理想" git config --global user.email &quo ...
- 2019.05.26 周日--《阿里巴巴 Java 开发手册》精华摘要
一.写在开头 Java作为一个编程界最流行的语言之一,有着很强的生命力.代码的编写规范也是不容忽视的,今天,我就把自己阅读的国内的互联网巨头阿里巴巴的<阿里巴巴 Java 开发手册>一些精 ...
- IDEA项目显示树形结构
- 9-11.Yii2.0框架控制器分配视图并传参xss攻击脚本视图的过滤
目录 一维数组传参 新建控制器: 新建view模板 二维数组传参 新建控制器: 新建view模板 视图非法字符的过滤 新建控制器: 新建view模板 一维数组传参 新建控制器: D:\xampp\ht ...
- vim中,在编辑模式下如何快速移动光标
编辑 ~/.vimrc 配置文件,加入如下行,编辑模式下自定义的快捷键 inoremap <C-o> <Esc>o inoremap <C-l> <Righ ...
- Python使用ORM控制MongoDB(MongoEngine)
简介: MongoEngine是一个对象文档映射器(ODM),相当于一个基于SQL的对象关系映射器(ORM) pymongo来操作MongoDB数据库,但是直接把对于数据库的操作代码都写在脚本中,这会 ...
- 在windows7 32ibt安装MongoDB数据库的方法及连接失败解决方案
参考 https://www.cnblogs.com/cnblogs-jcy/p/6734889.html http://yunkus.com/mongodb-install-config-in-wi ...