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来说问题,如下图:如果我将三者的顺序倒置或是乱置,会产生什么结果呢? 启动报错?还是加载未知结果?还是毫无影 ...
随机推荐
- JAVA命令运行cmd命令得到的结果乱码Runtime.getRuntime().exec("");
Process process = Runtime.getRuntime().exec("cmd /c dir c:"); BufferedReader bufferedReade ...
- Spark之SparkSql
-- Spark SQL 以编程方式指定模式 val sqlContext = new org.apache.spark.sql.SQLContext(sc) val employee = sc.te ...
- HBase 学习之路(四)—— HBase集群环境配置
一.集群规划 这里搭建一个3节点的HBase集群,其中三台主机上均为Regin Server.同时为了保证高可用,除了在hadoop001上部署主Master服务外,还在hadoop002上部署备用的 ...
- vue-cli的服务代理
vue-cli的默认端口是8080,如果我们的请求如下 我们就可以将地址改成
- 100天搞定机器学习|Day1数据预处理
数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起 ...
- 简单的scrapy实例
前天实验室的学长要求写一个简单的scrapy工程出来,之前也多少看了点scrapy的知识,但始终没有太明白,刚好趁着这个机会,加深一下对scrapy工作流程的理解.由于临近期末,很多作业要做(其实.. ...
- smobiler介绍(一)
如果说基于.net的移动开发平台,不得不自我推荐下smobiler,不用学习另外一套开发模式或者搭建复杂的开发环境,smobiler能够让大家像开发传统windows一样去开发移动应用,那么列举一下平 ...
- c#基础三
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- 记一次SQL优化。
程序是数据库的用户,为打造良好的用户体验,我们一直在努力. 此次介绍一个基于SQL的数据库优化.SQL的优劣对数据库的性能影响非常关键. 查询只涉及如下表结构中的三个字段.如下 开发原始SQL SEL ...
- 关于sql 中delete, truncate,drop的理解与总结
关于文章,本文是在网上查找资料整理而来,方便以后记忆 delete 命令删除的数据可以恢复, truncate 命令删除的数据是不可以恢复的,全删的那种 drop 命令删除的数据不可恢复,连表结构都删 ...