容器vector的使用总结 容器stack(栈)
0、头文件:#include<vector>; using namespace std;
1、定义: vector<type> vec;
2、迭代器
vector<type>::iterator it;
vector<type>::const_iterator it;
vector<type>::reverse_iterator it;
vector<type>::const_reverse_iterator it;
3、vector功能
存取元素的方法:
vec[i] 和 vec.at(i) //存取第i个元素
vec.front() //存取第一个元素,注意 vce.front()=122;//表是给第一个元素赋值为122,等价于 vec[0]= 122;
vce.back() //存取最后一个元素
新增或移除元素的方法:
vec.push_back(); //在容器最后加一个元素
vec.insert(); //插入一個或多個元素至 vector 內的任意位置
#include <iostream>
#include <vector> void print_vec(const std::vector<int>& vec)
{
for (std::vector<int>::const_iterator it=vec.begin();it!=vec.end();it++) {
std::cout << ' ' << *it;
}
std::cout << '\n';
} int main ()
{
std::vector<int> vec(,);
print_vec(vec); std::vector<int>::iterator it = vec.begin();
it = vec.insert(it, );
print_vec(vec); vec.insert(it,,);
print_vec(vec); // "it" no longer valid, get a new one: //不再可用**********
it = vec.begin(); std::vector<int> vec2(,);
vec.insert(it+, vec2.begin(), vec2.end());
print_vec(vec); int arr[] = { ,, };
vec.insert(vec.begin(), arr, arr+);
print_vec(vec);
}
vec.pop_back() // 刪除 vector 最尾端的元素
vec.erase() //刪除 vector 中一個或多個元素。
vec.clear() //清空所有元素。
获取容器的长度和容量:
vec.size() // 取得 vector 目前持有的元素个数。
vec.empty() //如果 vector 內部为空,则返回 true 值。
vec.capacity() // 取得 vector 目前可容納的最大元素个数。
改变容器的大小:
vec.reserve() //改变ector 的容量大小,容量只能增加,不可以減少。
vec.resize() //改变vector 目前持有的元素个数。
迭代四个:vec.begin() vec.end() vec.rbegin() vec.rend()

容器stack
栈(FIOL,First-in Last-out)三个主要的功能---存、取、删。
stack<int> myStack ;
myStack.push(); //存
myStack.top(); //取
myStack.pop(); //删
容器map
#include <iostream>
#include<string>
#include<map>
using namespace std; int main ()
{
map<string,int> myMap;
map<string,int>::iterator myMapIt;
myMap["wo"] = ; //存入方法1
myMap.insert(make_pair("ni",)); //存入方法2
for (myMapIt = myMap.begin();myMapIt!=myMap.end();myMapIt++) //遍历元素
{
cout<<myMapIt->first<<endl;
cout<<myMapIt->second<<endl;
cout<<myMap["ni"];
}
myMap.count("wo"); //返回值为1,即表示存在键值为"wo",不存在返回为0.(注意只有1、0两个值)
myMap.erase("ni"); //删除
myMap.clear() ;
return ;
}

容器vector的使用总结 容器stack(栈)的更多相关文章
- C++ 顺序容器(vector,list、deque,stack,queue)
顺序容器的种类有:vector,list.deque 顺序容器适配器: stack //先进后出 栈 queue //先进先出 队列 priority_queue //也优先管 ...
- STL之序列容器vector
首先来看看vector的模板声明: template <class T, class Alloc = allocator<T>> class vector { //… }; v ...
- 容器大小的改变以及容器操作可能使迭代器失效、vector对象的容量变化
1 改变容器的大小 我们可以使用resize来增加或缩小容器,与往常一样,array不支持resize.如果当前大小大于所要求的大小,容器后面的元素会被删除:如果当前大小小于新大小,会将新元素添加到容 ...
- C++线性序列容器<vector>简单总结
C++线性序列容器<vector>简单总结 vector是一个长度可变的数组,使用的时候无须声明上限,随着元素的增加,Vector的长度会自动增加:Vector类提供额外的方法来增加.删除 ...
- [C++]STL容器Vector的内存释放
直接抛出两句话,说明到底应该如何释放Vector占用的内存. “vector的clear不影响capacity,你应该swap一个空的vector.” <Effective STL>中的“ ...
- C++顺序容器vector、deque、list
1.容器元素类型 C++中大多数数据类型能够作为容器的元素类型.容器元素类型必须满足一下两个条件:支持赋值和复制操作. 所以没有元素是引用类型的容器,同一时候IO对象和auto_ptr也不能作为容器的 ...
- STL标准库-容器-vector
技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...
- 第十篇:顺序容器vector,deque,list的选用规则
前言 常见的顺序容器主要有三种 - vector,deque,list.它们实现的功能相差不大,那么实际开发中该如何进行选择呢?本文将为你解答这个问题. 分析 由于这三种容器实现的数据结构原型不同(v ...
- 顺序容器vector,deque,list的选用规则
前言 常见的顺序容器主要有三种 - vector,deque,list.它们实现的功能相差不大,那么实际开发中该如何进行选择呢?本文将为你解答这个问题. 分析 由于这三种容器实现的数据结构原型不同(v ...
随机推荐
- codeforces 339C Xenia and Weights(dp或暴搜)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Xenia and Weights Xenia has a set of weig ...
- (原+转)ubuntu14中结束多个caffe进程中的某个
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5948237.html 参考网址: http://www.2cto.com/os/201407/3215 ...
- vs2010中的外部依赖项的含义
vs2010中的项目下拉列表下面有外部依赖项,里面显示的文件是你程序中显示包含的头文件所包含的的头文件.比如,你的main函数里面包含了windows.h头文件,而windows.h头文件又包含其他头 ...
- 使用SQL脚本访问操作远程数据库
USE [Hik] GO /****** Object: StoredProcedure [dbo].[sp_test] Script Date: 08/21/2015 09:55:21 ****** ...
- vmware9安装centos和Mac经验总结
其实以前安装过,但是这次安装发现还是很陌生 主要是因为以下几点vm11下载的最新版本结果不支持用vm-Mac激活包一直激活不成功,所以只好用vm9来进行,中间的细节操作就是要停止的那几项VMware服 ...
- SVD学习
前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的.在上篇文章中便是基于特征值分解的一种解释.特征值和奇异值在大部分人的印象中, ...
- Rock the Tech Interview
Today, Infusion held a talk in Columbia University about tech interview. Talker: Nishit Shah @ Infus ...
- LeeCode-Contains Duplicate
Given an array of integers, find if the array contains any duplicates. Your function should return t ...
- Python基础教程学习(四)类的创建与继承
类中可以有方法,类外也可以有函数,其实类就是一种封装, Python中可以自己定义一个函数,一可以把这个函数在类中封装成一个方法, 其中的属性和方法自然就从父类中继承来了, 要想获得多个类的属性和功能 ...
- (转)Java 的swing.GroupLayout布局管理器的使用方法和实例
摘自http://www.cnblogs.com/lionden/archive/2012/12/11/grouplayout.html (转)Java 的swing.GroupLayout布局管理器 ...