首先和string一样要在开头

#include <vector>
#include <string>

和string一样,也算是一种容器,而且同属于STL(standard template library)里的好基友

1.初始化向量

        vector<int> a ;                                //声明一个int型向量a
vector<int> a() ; //声明一个初始大小为10的向量
vector<int> a(, ) ; //声明一个初始大小为10且初始值都为1的向量
vector<int> b(a) ; //声明并用向量a初始化向量b
vector<int> b(a.begin(), a.begin()+) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值

也可以用数组来初始化向量

        int n[] = {, , , , } ;
vector<int> a(n, n+) ; //将数组n的前5个元素作为向量a的初值
vector<int> a(&n[], &n[]) ; //将n[1] - n[4]范围内的元素作为向量a的初值

2.向量元素的输出和访问

普通的

      #include<iostream>
#include<vector> using namespace std ; int main()
{
vector<int> a(, ) ; //大小为10初值为0的向量a //对其中部分元素进行输入
cin >>a[] ;
cin >>a[] ;
cin >>a[] ; //全部输出
int i ;
for(i=; i<a.size(); i++)
cout<<a[i]<<" " ; return ;
}

在输出上,还可以使用迭代器,类似城管一样,一个一个不漏地弄出来vector里面的元素

比如在这种申明形式下

vector <int> a(b.begin(),b.begin()+);

中,可以使用城管iterator

    //全部输出
vector<int>::iterator t ;
for(t=a.begin(); t!=a.end(); t++)
cout<<*t<<" " ;

3.向量的基本操作

    >. a.size()                 //获取向量中的元素个数

    >. a.empty()                //判断向量是否为空

    >. a.clear()                //清空向量中的元素

    >. 复制
a = b ; //将b向量复制到a向量中 >. 比较
保持 ==、!=、>、>=、<、<= 的惯有含义 ;
如: a == b ; //a向量与b向量比较, 相等则返回1 >. 插入 - insert
①、 a.insert(a.begin(), ); //将1000插入到向量a的起始位置前 ②、 a.insert(a.begin(), , ) ; //将1000分别插入到向量元素位置的0-2处(共3个元素) ③、 vector<int> a(, ) ;
vector<int> b() ;
b.insert(b.begin(), a.begin(), a.end()) ; //将a.begin(), a.end()之间的全部元素插入到b.begin()前 >. 删除 - erase
①、 b.erase(b.begin()) ; //将起始位置的元素删除
②、 b.erase(b.begin(), b.begin()+) ; //将(b.begin(), b.begin()+3)之间的元素删除 >. 交换 - swap
b.swap(a) ; //a向量与b向量进行交换

4.二维向量

vector< vector<int> > b(, vector<int>());        //创建一个10*5的int型二维向量

输入输出的方式

          vector< vector<int> > b(, vector<int>(, )) ;

         //对部分数据进行输入
cin>>b[][] ;
cin>>b[][] ;
cin>>b[][]; //全部输出
int m, n ;
for(m=; m<b.size(); m++) //b.size()获取行向量的大小
{
for(n=; n<b[m].size(); n++) //获取向量中具体每个向量的大小
cout<<b[m][n]<<" " ;
cout<<"\n" ;
}

最新文章

  1. 几个毫无节操纯属恶搞的JavaScript插件
  2. asp.net 4.0+ webform 程序中集成mvc4混合应用
  3. ubuntu安装日文分词软件MeCab及其Python插件
  4. 移动Web开发(二)
  5. jquery 操作iframe的几种方法总结
  6. iOS开发零基础--Swift基础篇--常量&amp;变量的定义
  7. Object-C 入门
  8. ASP.NET 将数据生成PDF (二)
  9. [ActionScript 3.0] Away3D 灯光的使用
  10. IIS安装Web Deploy之后没有显示右键菜单
  11. CSS制作hover下划线动画
  12. pojPots
  13. JNI之HelloWorld
  14. ARC注意的泄漏问题
  15. Linux的文件/目录的权限
  16. 三目运算:and/or 技巧
  17. DELL服务器硬件信息采集SHELL脚本
  18. javascript中通过元素id和name直接取得元素
  19. RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例
  20. WSGI 相关的东东(转载)

热门文章

  1. 1020. Tree Traversals (25) ——树的遍历
  2. Android开发SQLite数据库的创建
  3. WM_COMMAND 和 WM_NOTIFY 的区别
  4. 理解Windows消息循环机制
  5. file_put_contents(): supplied resource is not a valid stream resource
  6. 【转】Jmeter项目测试
  7. mysql索引之八:myisam压缩(前缀压缩)索引
  8. pthread thread mutex synchronous asynchronous communication
  9. kettle init
  10. leetcode696