Standard Template Library标准模板库专项复习总结(一)
看了看博客园的申请时间也一年多了...想想自己一年多以来一直处于各种划水状态,现在又要面临ACM的冲击...
还是要抓紧时间赶紧复习一下了- -毕竟校园新生赛还是有奖金的..
1.栈
先进后出(LIFO)表
头文件:#include<stack>
变量的定义:stack<TYPE>StackName
成员函数:
bool empty() 栈为空返回true,否则返回false
void pop() 删除栈顶元素
void push(const TYPE &val) 进栈
size_type size() 返回栈的数目
TYPE& top() 查看栈首
2.动态数组
头文件:#include<vector>
变量的定义:vector<TYPE>vectorName
成员函数:
TYPE& size() 返回数组的数目
bool empty() 数组为空返回true,否则返回false
void clear() 清空数组
* begin() 返回第一个数据的地址
* end() 返回最后一个数据的地址
void pop_back() 删除最后一个数据
* insert(a,b) 在a位置插入b
void insert(a,n,b) 在a位置插入n个b
void insert(a,beg,end) 在a位置插入beg到end之间的数据
void swep(vector) 互换两个vector
3.映射
头文件:#include<map>
变量的定义:map<TYPE,TYPE>mapName
map<key,elem> 一个map,以less<>为排序准则map<key,elem,op> 一个map,以op为排序准则
另外需要定义迭代器(iterator)
map<string,float>::iterator pos;
类似于指针,解释一下就是:
当迭代器pos指向map中的某个元素,表达式pos->first获得该元素的key,表达式pos->second获得该元素的value
举个例子:(摘自https://blog.csdn.net/shawn_hou/article/details/38035577)
#include <map> #include <string> #include <iostream> using namespace std; int main() {map<int, string> mapStudent;mapStudent.insert(pair<int, string>(1, "student_one"));mapStudent.insert(pair<int, string>(2, "student_two"));mapStudent.insert(pair<int, string>(3, "student_three"));map<int, string>::iterator iter;for(iter = mapStudent.begin(); iter != mapStudent.end(); iter++)cout<<iter->first<<' '<<iter->second<<endl; }
成员函数:
iterator begin() 返回指向第一个元素的迭代器
iterator end() 返回指向最后一个元素的迭代器
void clear() 清空map
bool empty() 返回是否map为空
void insert() 插入
TYPE& size() 返回map大小
*也可以直接使用pair类型输入
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #include<map> 5 #include<vector> 6 #include<queue> 7 #define MAXN 8 using namespace std; 9 int n,x,y; 10 int main(){ 11 ios::sync_with_stdio(false); 12 map<int,int>m; 13 m.insert(pair<int,int>(1,2)); 14 cin>>n; 15 for(register int i=1;i<=n;i++){ 16 cin>>x>>y; 17 pair<int,int> p (x,y); 18 m.insert(p); 19 } cout<<endl; 20 for(register map<int,int>::iterator i=m.begin();i!=m.end();i++){ 21 pair<int,int>it=*i; 22 cout<<it.first<<" "<<it.second<<endl; 23 } 24 return 0; 25 } 26 原文:https://blog.csdn.net/NOIAu/article/details/72923307
------对于没有数据结构基础的小白,比如不知道什么是迭代器什么是pair可以自行百度
总而言之,map=pair+set
#include<cstdio> #include<iostream> #include<map> using namespace std; int main(){map<string,float> c; c.insert(make_pair("Cafe",7.75));c.insert(make_pair("Banana",1.72));c["Wine"]=15.66;map<string,float>::iterator pos;for(pos=c.begin();pos!=c.end();pos++){cout<<pos->first<<" "<<pos->second<<endl; }return 0; }
转载于:https://www.cnblogs.com/Fylsea/p/9910872.html
Standard Template Library标准模板库专项复习总结(一)相关推荐
- java标签库 taglib pdf格式_JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库...
JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...
- JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库
JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...
- C++ 标准模板库(STL)
C++ 标准模板库(STL) C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列) ...
- 【C++】 C++标准模板库(十二) 迭代器和STL
1. C++ Iterators(迭代器) 迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针.举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历.有这么几种迭代器如下 ...
- c++ 的 stl模板库_C ++中的标准模板库(STL)
c++ 的 stl模板库 Standard Template Library (STL) is a collection of standard C++ template classes. It co ...
- C++ 标准模板库(STL)汇总
一.STL容器概述 C++ STL (Standard Template Library标准模板库)是通用类模板和算法的集合,它给我们提供了一些标准的数据结构的实现如queues(队列), lists ...
- STL 标准模板库详细
STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...
- C++ STL 标准模板库
STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...
- C++标准模板库STL
目 录 1 STL 简介 ....................................................................................... ...
最新文章
- Mysql表结构升级_mysql表结构升级时根据字段是否存在执行相应操作
- 0002-Add Two Numbers(两数相加)
- zabbix' failed: [1044] Access denied for user 'zab
- 2019.01.29【NOIP普及组】模拟赛C组总结
- Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
- 轻量级数据sqlite的C++调用示例
- 智能门锁半夜离奇开门吓坏用户 官方回应:只是一场误解
- 都在夸官方文档 Vue.js 2021 年度报告出炉!
- mysql5.5免安装包_mysql免安装版5.5
- Numpy_where
- python 移动文件位置-python实现指定文件夹下的指定文件移动到指定位置
- MC 2017数控车床编程基础到精通详细视频教程
- 暴力破解之NTscan
- 在 ubuntu 的桌面上创建快捷方式
- 中美日印程序员收入对比
- idea设置单行注释格式(包括配置文件)
- 下列4组数据类型中 c语言允许的一组是,下列4组数据类型中,C语言允许的一组是...
- pc端微信小程序抓包
- PLC脆弱性评估及相应解决方案
- java 源码系列 - 带你读懂 Reference 和 ReferenceQueue