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容器的功能及应用。的更多相关文章

  1. C++中vector容器的常用操作方法实例总结

    C++中vector容器的常用操作方法实例总结 参考 1. C++中vector容器的常用操作方法实例总结: 完

  2. C++中vector 容器的基本操作

    vector是一种简单高效的容器,具有自动内存管理功能.对于大小为n的vector容器,它的元素下标是0~n-1. vector有二个重要方法:     begin(): 返回首元素位置的迭代器.   ...

  3. (转载)C++STL中vector容器的用法

     vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说vec ...

  4. STL中vector容器实现反转(reverse)

    vector容器中实现可以通过以下两种方式实现: #include "stdafx.h" #include <vector> #include <iostream ...

  5. C++STL库中vector容器常用应用

    #include<iostream> #include<vector> #include<algorithm> using namespace std; int m ...

  6. c++中set容器的功能及应用。

    set的特性是,所有元素都会根据元素的键值自动排序(默认为升序),set中不允许两个元素有相同的键值. set基本操作: 1.头文件 #include<set>. 注:一定要加上using ...

  7. Go语言中使用切片(slice)实现一个Vector容器

    Go语言中的切片(slice)和一些内置函数能实现其他语言容器类Array.Vector的功能,但是Go内置语言包container里只提供了list.heap.ring三种容器,缺少vector容器 ...

  8. STL中vector、list、deque和map的区别

    1 vector     向量 相当于一个数组    在内存中分配一块连续的内存空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capac ...

  9. 【转】STL中vector、list、deque和map的区别

    1.vector 向量 相当于一个数组 在内存中分配一块连续的内容空间进行存储.支持不指定vector大小的存储.STL内部实现时,首先分配一个非常大的内存空间预备进行存储,即capacity()函数 ...

随机推荐

  1. Android商城开发系列(九)—— 首页频道布局的实现

    在上一篇博客当中,我们讲了关于首页轮询广告的实现,接下来讲解一下首页频道布局的实现,如下图所示: 这个布局用的是gridview去完成的,新建一个channel_item,代码如下所示: <?x ...

  2. 洛谷 P3313 [SDOI2014]旅行

    题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰. 为了方便,我 ...

  3. java面试题(杨晓峰)---第五讲String、StringBuffer、StringBuilder有什么区别?

    线程 字符 操作频繁度 1 String (1)String的创建机制 由于String在java世界中使用过于频繁,java为了避免在一个系统中产生大量重复的String对象,引入了字符串常量池,其 ...

  4. NHibernate使用之详细图解

    本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看, ...

  5. c#和Java中的接口

    使用场景: 在c#和Java中: 1.接口可以实现“多继承”(多实现),一个类只能继承自一个父类,但是可以实现多个接口. 2.接口解决了不同类型之间的多态问题,比如鱼与船不是同一类型,但是都能在水里“ ...

  6. NSOperation、NSOperationQueue

    NSOperation.NSOperationQueue NSOperation 和 NSOperationQueue 配合使用也能实现多线程. NSOperation 继承于 NSObject,是一 ...

  7. 【最大权闭合子图 最小割】bzoj1497: [NOI2006]最大获利

    最大权闭合子图的模型:今天才发现dinic板子是一直挂的…… Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在 ...

  8. NOIP计划索引

    药丸的节奏 亟待解决的问题 灵光一现的trick 2018上学期刷题记录 NOIP2018 - 暑期博客整理 NOIP2018 - 一些板子 NOIP2018 - 每日填坑

  9. HashMap与ArrayMap(和SparseArray)的比较与选择

    HashMap与ArrayMap(和SparseArray)的比较与选择 2017年12月26日 06:04:38 阅读数:61 标签: androidjavahashmaparraymap数据结构 ...

  10. CNCF 有哪些具体的项目内容?

    前言:CNCF(Cloud Native Computing Foundation)于 2015 年 7 月成立,隶属于 Linux 基金会,初衷围绕“云原生”服务云计算,致力于维护和集成开源技术,支 ...