c++基础之向量Vector
2024-08-25 19:34:28
首先和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" ;
}
最新文章
- 几个毫无节操纯属恶搞的JavaScript插件
- asp.net 4.0+ webform 程序中集成mvc4混合应用
- ubuntu安装日文分词软件MeCab及其Python插件
- 移动Web开发(二)
- jquery 操作iframe的几种方法总结
- iOS开发零基础--Swift基础篇--常量&;变量的定义
- Object-C 入门
- ASP.NET 将数据生成PDF (二)
- [ActionScript 3.0] Away3D 灯光的使用
- IIS安装Web Deploy之后没有显示右键菜单
- CSS制作hover下划线动画
- pojPots
- JNI之HelloWorld
- ARC注意的泄漏问题
- Linux的文件/目录的权限
- 三目运算:and/or 技巧
- DELL服务器硬件信息采集SHELL脚本
- javascript中通过元素id和name直接取得元素
- RDIFramework.NET V3.3 WinForm版新增订单管理主从表事例
- WSGI 相关的东东(转载)
热门文章
- 1020. Tree Traversals (25) ——树的遍历
- Android开发SQLite数据库的创建
- WM_COMMAND 和 WM_NOTIFY 的区别
- 理解Windows消息循环机制
- file_put_contents(): supplied resource is not a valid stream resource
- 【转】Jmeter项目测试
- mysql索引之八:myisam压缩(前缀压缩)索引
- pthread thread mutex synchronous asynchronous communication
- kettle init
- leetcode696