[STL] vector基本用法
vector动态增加大小,并不是在原空间之后持续新空间(因为无法保证原空间之后尚有可供配置的空间),而是以原大小的两倍另外配置一块较大的空间,然后将原内容拷贝过来,然后才开始在原内容之后构造新元素,并释放原空间。因此,对vector的任何操作,一旦引起空间重新配置,指向原vector的所有迭代器就都失效了。
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std; int main()
{
string str[] = {"Alex", "John", "Robert"};
//创建一个空vector容器
vector<int> v1;
//创建一个有10个空元素的vector容器
vector<int> v2();
//创建一个有10个元素的vector容器,并为每个元素赋值为0
vector<int> v3(,);
//根据字符串数组创建vector容器
vector<string> v4(str,str + ); //迭代器法遍历
vector<string>::iterator sIt = v4.begin();
while(sIt != v4.end()){
cout<< *sIt ++ << " ";
}
cout<<endl; //拷贝构造
vector<string> v5(v4);
//下标法遍历
for(int i = ;i < ;i ++){
cout<< v5[i] << " ";
}
cout<<endl; return ;
}
vector创建二维数组:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector < vector <int> > array();
for(int i=; i <; i++)
array[i].resize();//设置数组的大小3X3
//现在可以和使用数组一样使用这个vector
for(int i=; i <; i++)
for(int j=; j <; j++)
array[i][j]=(i*j);
//输出
for(int i=; i <; i++)
{
for(int j=; j <; j++)
cout << array[i][j] << " ";
cout << endl;
}
cout<<"After resizing:"<<endl;
// 添加两行,对列也要重新设置大小
array.resize();
array[].resize();
array[].resize();
//现在是5X3的数组了
for(int i=; i <; i++)
for(int j=; j <; j++)
array[i][j]=(i*j);
for(int i=; i <; i++)
{
for(int j=; j <; j++)
cout << array[i][j] << " ";
cout << endl;
}
return ;
}
二维数组去除重复行:
res.erase(unique(res.begin(), res.end()), res.end());
二维数组迭代输出:
vector<vector<int>>::iterator IE; 3 vector<int>::iterator it;
for(IE=array.begin();IE<array.end();IE++)
{
for (it=(*IE).begin();it<(*IE).end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
[STL] vector基本用法的更多相关文章
- STL vector常见用法详解
<算法笔记>中摘取 vector常见用法详解 1. vector的定义 vector<typename> name; //typename可以是任何基本类型,例如int, do ...
- STL vector简单用法
初涉c++,此为<算法笔记>中的内容,有待个人理解完善. vector vector翻译为向量,叫做"变长数组"更容易理解. 头文件:#include<vecto ...
- STL————vector的用法
一.什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为,向量是一个能 ...
- C++标准模板库(STL)——vector常见用法详解
vector的定义 vector<typename> name; 相当于定义了一个一维数组name[SIZE],只不过其长度可以根据需要进行变化,比较节省空间,通俗来讲,vector就是& ...
- STL vector用法介绍
STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...
- STL中的Vector相关用法
STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...
- STL vector 用法介绍
介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- stl——vector详解
stl——vector详解 stl——vector是应用最广泛的一种容器,类似于array,都将数据存储于连续空间中,支持随机访问.相对于array,vector对空间应用十分方便.高效,迭代器使ve ...
随机推荐
- ant-design form
表单配置 示例代码 import { Form } from 'antd'; const FormItem = Form.Item; class NormalLoginForm extends Rea ...
- VINS(二)Feature Detection and Tracking
系统入口是feature_tracker_node.cpp文件中的main函数 1. 首先创建feature_tracker节点,从配置文件中读取信息(parameters.cpp),包括: ROS中 ...
- java.lang.RuntimeException: HRegionServer Aborted
java.lang.RuntimeException: HRegionServer Aborted 当我们启动hbase集群的时候,刚启动时每个节点上的进程都显示正常,过一会其他两个节点上的HRegi ...
- getSteam
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- java 面向对象一
一 基础部分 1.基本数据类型 Java的八种基本数据类型不支持面向对象的编程机制,不具备“对象”的特性:没有成员变量.方法可以调用.java之所以提供这八种基本数据类型,是为了照顾程序员的传统习惯. ...
- 纯净CentOS安装PHP网站环境
一.MySQL数据库 安装mysql: yum install mysql mysql-server 启动mysql: /etc/init.d/mysqld start 或 service mysq ...
- 关联分析FPGrowth算法在JavaWeb项目中的应用
关联分析(关联挖掘)是指在交易数据.关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式.关联.相关性或因果结构.关联分析的一个典型例子是购物篮分析.通过发现顾客放入购物篮中不同商品之 ...
- 使用gitlab时候 fork仓库不会实时从主仓库更新解决方案
付费用户可以使用现成的方案,地址见 链接 但是私有gitlab时候,需要手动进行如下操作 1. Clone your fork: git clone git@github.com:YOUR-USERN ...
- 【Extremely Basic Words for Listening】word list
[Extremely Basic Words for Listening]word list updated continuously recite count: 0 careless exercis ...
- Unity Android设备的输入
Unity Android设备的输入 1依据屏幕位置输入 有的时候也许是为了整个有些风格的干净,减少屏幕上的UI图标,以至于摒弃了虚拟按键这种常用的输入方式.为了替代虚拟按键的输入方式而选择了依据点击 ...