vector 的用法(c++)
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++)的更多相关文章
- 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 ...
- vector基本用法
Vector作为STL容器中的一员,使用频率非常高,因此对其基本用法和实用技巧进行记录,便于后期查询使用. 基本用法 #include <iostream> #include <ve ...
随机推荐
- hadoop native
http://blog.csdn.net/benben85/article/details/4161134 http://stackoverflow.com/questions/19943766/ha ...
- Python 线程,进程
Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元 线程不能实现多并发 只能实现伪并发 每次工作 只能是一个线程完成 由于python解释器 原生是c 原生线程 底层都会有一把 ...
- lepus bug
------------------------------------------------BUG fix-------------------------------------------- ...
- DB9 公头母头引脚定义及连接、封装
DB9 公头母头引脚定义及连接.封装 转自:http://blog.csdn.net/yangshuodianzi/article/details/8997478 1.实物及引脚简介 在做开发的时候经 ...
- [DP]一道理想收入问题【转】
题意:以一元为本金,能获得的最大收入,第i天股票价格为v[i],1<=i<=m 思路: (1)DP思路明显,直接进行动态规划,令f[i]代表第i天所获得的最大收入.那么有公式: f[i] ...
- tab奇偶行颜色交替+插件
(function($){ $.fn.tableUI=function(options){ var defaults={ evenRowclass:"evenRow", oddro ...
- linux的学习系列 8---进程管理
当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中的程序 ...
- Swift -> Let & Var 背后编程模式 探讨
简介 Swift中有两种声明“变量”的方式,这两种方式分别使用let和var这两个关键字.这应该是借鉴了Scala,因为它们和Scala的val和var有相同的作用.let被用于声明不变量,var被用 ...
- windows程序设计(三)
MFC所有封装类一共200多个,但在MFC的内部技术不只是简单的封装 MFC的内部总共有六大关键技术,架构起了整个MFC的开发平台 一.MFC的六大关键技术包括: a).MFC程序的初始化过程 b). ...
- Oracle Sql优化之Merge 改写优化Update
1.待改写语句如下 update table1 f )),) ,),)), f.jine2 )),) from table2 e where e.kjqj=f.kjqj=e.gs=f.gs and e ...