c++容器简单总结(续)
|
操作 |
效果 |
|
vector<T> c |
产生空的vector |
|
vector<T> c1(c2) |
产生同类型的c1,并将复制c2的所有元素 |
|
vector<T> c(n) |
利用类型T的默认构造函数和拷贝构造函数生成一个大小为n的vector |
|
vector<T> c(n,e) |
产生一个大小为n的vector,每个元素都是e |
|
vector<T> c(beg,end) |
产生一个vector,以区间[beg,end]为元素初值 |
|
~vector<T>() |
销毁所有元素并释放内存。 |
|
操作 |
效果 |
|
c.size() |
返回元素个数 |
|
c.empty() |
判断容器是否为空 |
|
c.max_size() |
返回元素最大可能数量(固定值) |
|
c.capacity() |
返回重新分配空间前可容纳的最大元素数量 |
|
c.reserve(n) |
扩大容量为n |
|
c1==c2 |
判断c1是否等于c2 |
|
c1!=c2 |
判断c1是否不等于c2 |
|
c1<c2 |
判断c1是否小于c2 |
|
c1>c2 |
判断c1是否大于c2 |
|
c1<=c2 |
判断c1是否大于等于c2 |
|
c1>=c2 |
判断c1是否小于等于c2 |
|
操作 |
效果 |
|
c1 = c2 |
将c2的全部元素赋值给c1 |
|
c.assign(n,e) |
将元素e的n个拷贝赋值给c |
|
c.assign(beg,end) |
将区间[beg;end]的元素赋值给c |
|
c1.swap(c2) |
将c1和c2元素互换 |
|
swap(c1,c2) |
同上,全局函数 |
|
操作 |
效果 |
|
at(idx) |
返回索引idx所标识的元素的引用,进行越界检查 |
|
operator [](idx) |
返回索引idx所标识的元素的引用,不进行越界检查 |
|
front() |
返回第一个元素的引用,不检查元素是否存在 |
|
back() |
返回最后一个元素的引用,不检查元素是否存在 |
迭代器相关函数
|
操作 |
效果 |
|
begin() |
返回一个迭代器,指向第一个元素 |
|
end() |
返回一个迭代器,指向最后一个元素之后 |
|
rbegin() |
返回一个逆向迭代器,指向逆向遍历的第一个元素 |
|
rend() |
返回一个逆向迭代器,指向逆向遍历的最后一个元素 |
安插元素
|
操作 |
效果 |
|
c.insert(pos,e) |
在pos位置插入元素e的副本,并返回新元素位置 |
|
c.insert(pos,n,e) |
在pos位置插入n个元素e的副本 |
|
c.insert(pos,beg,end) |
在pos位置插入区间[beg;end]内所有元素的副本 |
|
c.push_back(e) |
在尾部添加一个元素e的副本 |
c++容器简单总结(续)的更多相关文章
- docker 容器简单使用
文章目录 docker简介 docker容器简单使用 1.HelloWorld 2.运行交互式的容器 3.启动容器(后台模式) 安装docker容器的博文有很多这里就不做过多赘述了,另外如果不想安装d ...
- cocos2dx的模板容器简单使用(Vector,Map,Value)
在cocos2dxv3.0beta之前存在顺序性容器cocos2d::CCArray,和cocos2d::CCDictionary.可是在新版本号之后这两个容器都将被cocos2d::Vector&l ...
- java-Enumeration,单向队列Queue及双向队列Deque等容器简单使用
1.Enumeration容器使用: package com.etc; import java.util.Enumeration; import java.util.Vector; /* Enumer ...
- Vector 容器简单介绍
# Vector STL简要介绍 关于STL中的vector容器,以下做一些相关介绍. #### vector 简要概述 vector 称作向量类,属于容器类,实现了动态的数组,用于元素数量变化的对象 ...
- [C++ STL] 各容器简单介绍
什么是STL? 1.STL(Standard Template Library),即标准模板库,是一个高效的C++程序库. 2.包含了诸多常用的基本数据结构和基本算法.为广大C++程序员们提供了一个可 ...
- python 多线程就这么简单(续)
之前讲了多线程的一篇博客,感觉讲的意犹未尽,其实,多线程非常有意思.因为我们在使用电脑的过程中无时无刻都在多进程和多线程.我们可以接着之前的例子继续讲.请先看我的上一篇博客. python 多线程就这 ...
- C++ set容器简单用法
set是关联容器,类似于集合,里面的元素不会重复,而且呈现为有序性 常用操作: using namespace std; set<int>:s;1.元素插入:s.insert()2.中序遍 ...
- c++容器简单总结
数据结构 描述 实现头文件 向量(vector) 连续存储的元素 <vector> 列表(list) 由节点组成的双向链表,每个结点包含着一个元素 <list> 双队列(deq ...
- jetty加载spring-context容器源码分析
带着疑问开始 web.xml的顺序问题 先拿一个最简单的spring mvc web.xml来说问题,如下图:如果我将三者的顺序倒置或是乱置,会产生什么结果呢? 启动报错?还是加载未知结果?还是毫无影 ...
随机推荐
- Git 备忘录
整理了一下工作中常用的 Git 操作,持续更新中... merge单个文件 例如 B分支想要合并A分支的某个文件 首先,我们切换到B分支 git checkout branch B 之后,我们c ...
- 移动端使用rem.js,解决rem.js 行内元素占位问题
父级元素: letter-spacing: -0.5em;font-size: 0; 子级元素: letter-spacing: normal; display: inline-block; vert ...
- VMware克隆CentOS7,解决网络配置问题
问题: 安装CentOS7 mini版,静态IP配置完毕后,关闭虚机CentOS7-1,克隆虚拟机为CentOS-2.克隆出来的虚拟机使用ifconfig命令,无法发现网卡,只有一个lo设备.虚机无法 ...
- Azkaban学习之路(二)—— Azkaban 3.x 编译及部署
一.Azkaban 源码编译 1.1 下载并解压 Azkaban 在3.0版本之后就不提供对应的安装包,需要自己下载源码进行编译. 下载所需版本的源码,Azkaban的源码托管在GitHub上,地址为 ...
- mysql报错(Not unique table/alias)
Not unique table/alias 错误编号:1066 问题分析: SQL 语句中出现了非唯一的表或别名. 解决方法: 1.请检查出现问题位置的 SQL 语句中是否使用了相同的表名,或是定义 ...
- yarn or npm 版本固化如何选择
前言 作为前端开发者,npm这个包管理工具的重要性显而易见.优点不再表述,但一些缺点是为使用者诟病比较多的:速度慢.版本控制.下面主要讨论下npm的版本固化问题,即lock文件. npm语义化版本管理 ...
- 100天搞定机器学习|Day7 K-NN
最近事情无比之多,换了工作.组队参加了一个比赛.和朋友搞了一些小项目,公号荒废许久.坚持是多么重要,又是多么艰难,目前事情都告一段落,我们继续100天搞定机器学习系列.想要继续做这个是因为,一方面在具 ...
- Spring入门配置(一) - IOC
一.初始命名空间配置 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="h ...
- 微信小程序社区爬取
# CrawlSpider 需要使用:规则提取器 和 解析器 # 1. allow设置规则的方法:要能够限制在目标url上面, 不要跟其他的url产生相同的正则即可 # 2. 什么情况下使用follo ...
- scrapy基础知识之 Scrapy 和 scrapy-redis的区别:
Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础 ...