[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 ...
随机推荐
- C语言:一个数组中只有两个数字是出现一次
//1.一个数组中只有两个数字是出现一次, //其他所有数字都出现了两次. //找出这两个数字,编程实现.a //^=单独两个数的^结果 //单独出现的两个数不同位的标记 //position: ^结 ...
- 笔记-django第一个项目
笔记-django第一个项目 1. 创建项目 安装 Django 之后,现在有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 看下djang ...
- Speed Up Your WordPress Site
http://www.sitepoint.com/speed-wordpress/ http://www.sparringmind.com/speed-up-wordpress/ http://www ...
- SpringBoot-04:SpringBoot在idea中的俩种创建方式
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 创建SpringBoot工程有很多种方式,我只讲俩种最为常见的 一,依托springboot官网提供的模板.( ...
- spring cloud 服务注册中心eureka高可用集群搭建
spring cloud 服务注册中心eureka高可用集群搭建 一,准备工作 eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心 1 本文三台eu ...
- python删除文本中的所有空字符
import re import os input_path = 'G:/test/aa.json' output_path ='G:/test/bb.json' with open(input_pa ...
- Net Core学习笔记
Net Core 官网:https://dotnet.github.io/ Net Core Api: https://docs.microsoft.com/en-us/dotnet/api/?vie ...
- 远离服务器宕机,腾讯WeTest正式推出服务器深度性能测试服务
WeTest 导读 随着城市发展趋向智慧化,不仅移动互联网应用正迅速融入出行.金融.医疗.娱乐等传统行业,跟随移动互联网成长起来的,还有用户对应用使用与消费的理性意识. 而在用户不断增加的同时,如何避 ...
- python一标准异常总结大全(非常全)
Python标准异常总结 AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) ...
- Java开发工程师(Web方向) - 02.Servlet技术 - 第4章.JSP
第4章--JSP JSP JSP(Java Server Pages) - 中文名:Java服务器页面 动态网页技术标准 JSP = Html + Java + JSP tags 在服务器端执行,返回 ...