vertor是向量类型,它是一个对象实体。它作为容器可以容纳不同的实体,如int,flout,double,还有类类型。

1.包含头文件 #include <vector>

2.声明:vector<int> vet;

3.定义:

vector<int> a();//定义了10个整数的向量,没有给初值,值不确定
vector<int> b(,);//定义10个整数的向量,每个元素初值都是1
vector<int> c(b);//用另一个向量创建新向量
vector<int> d(b.begin(),b.begin()+);//从b向量0到2元素的向量 int arr[]={,,,,,,};
vector<int> va(arr,arr+);//从数组创建向量

4.遍历:

遍历有两种方式,一个是用下标遍历,类似数组,还有就是使用迭代器遍历,代码如下:

//遍历:
for(int i=;i<a.size();i++){
cout<<a[i]<<" ";
}
cout<<endl; vector<int>::iterator it;
for(it=b.begin();it!=b.end();it++){
cout<<*it<<" ";
}
cout<<endl;

5.在结尾处添加元素:va.push_back(8);

6.删除结尾的元素:va.pop_back();

7.查看向量的大小:va.size();

8.查看向量是否为空:va.empty();

9.插入元素:va.insert(va.begin()+3,10);

10.删除某个元素:va.erase(va.begin()+3);

10.清空所以元素:va.clear()

算法: 包含头文件 #include <algorithm>

1.sort(va.begin(),va.end()), 对向量进行排序。默认为从小到大。

2.reverse(va.begin(),va.end()),对向量进行翻转

代码:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std; void print_vec(vector<int> & a){
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++){
cout<<*it<<" ";
}
cout<<endl;
} int main(){ vector<int> a();//定义了10个整数的向量,没有给初值,值不确定
vector<int> b(,);//定义10个整数的向量,每个元素初值都是1
vector<int> c(b);//用另一个向量创建新向量
vector<int> d(b.begin(),b.begin()+);//从b向量0到2元素的向量 int arr[]={,,,,,,};
vector<int> va(arr,arr+);//从数组创建向量 //遍历:
for(int i=;i<a.size();i++){
cout<<a[i]<<" ";
}
cout<<endl; vector<int>::iterator it;
for(it=b.begin();it!=b.end();it++){
cout<<*it<<" ";
}
cout<<endl; va.push_back();
print_vec(va); va.pop_back();
print_vec(va); a.assign(va.begin(),va.begin()+);
print_vec(a); a.assign(,);
print_vec(a); a.clear();
cout<<"clear"<<endl;
print_vec(a); if(a.empty()) cout<<"empty"<<endl; a.resize();
print_vec(a);
a.clear();
a.resize(,);
print_vec(a); //插入删除元素
cout<<"插入和删除:"<<endl;
va.insert(va.begin()+,);//在该位置插入对应的元素
print_vec(va);
va.erase(va.begin()+);//删除该位置的元素
print_vec(va); if(a==b) cout<<"equal"<<endl; cout<<"size:"<<va.size()<<"front: "<<va.front()<<" back:"<<va.back()<<endl; //算法
reverse(va.begin(),va.end());
print_vec(va); sort(va.begin(),va.end());
print_vec(va); return ;
}

vector 的用法(c++)的更多相关文章

  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 ...

  10. vector基本用法

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

随机推荐

  1. .project

    http://blog.csdn.net/qiushuichangtian888/article/details/9299843 一个老项目导入新环境后老是提示build.properties不存在的 ...

  2. T-shirts Distribution

    T-shirts Distribution time limit per test 1 second memory limit per test 256 megabytes input standar ...

  3. UIKit控件直接显示网页文字内容

    NSString *html = @"<bold>Hello</bold> Now<br> <em>iOS</em> can cr ...

  4. POJ 2773 Happy 2006(欧几里德算法)

    题意:给出一个数m,让我们找到第k个与m互质的数. 方法:这题有两种方法,一种是欧拉函数+容斥原理,但代码量较大,另一种办法是欧几里德算法,比较容易理解,但是效率很低. 我这里使用欧几里德算法,欧几里 ...

  5. cocos2d-x 3.x 橡皮擦功能

    1.HelloWorldScene.h cocos2d::DrawNode* _eraser; cocos2d::RenderTexture*_renderTexture; 2.HelloWorldS ...

  6. android:editable is deprecated: Use an <EditText> to make it editable

    问题:android:editable is deprecated: Use an to make it editable   意思:Android的:编辑是反对:使用<</span> ...

  7. L3,please send me a card

    expressions: a few words几句话 lend sb sth或lend sth to sb borrow sth或borrow sth from sb 都表示借,但是行为不同. wo ...

  8. postfix+dovecot配置多域名邮件服务器

    mail邮局系统的MX(邮件交换)记录配置,以便收发邮件.(MX记录,是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器,如果没有做域名解析,邮局不能正 ...

  9. 【嵌入式linux】(第三步):安装串口终端 (ubuntu安装minicom串口终端)

    1.前言 我使用的是USB转串口,芯片是PL2303,貌似ubuntu自带了PL2303的USB驱动,可以直接使用,其它的USB转串口的没试过. 2.minicom安装 在终端中输入 : sudo a ...

  10. ZOJ 3699 Dakar Rally(贪心)

    这是一道贪心题,他的贪心思想很容易想明白,我们保证油箱里的油始终是最便宜的我们最后的花费就能是最少的.实现方法就是:比如现在在i点,我们看邮箱满载能最远到达哪里,不妨设最远到达j,(j >= i ...