看了看博客园的申请时间也一年多了...想想自己一年多以来一直处于各种划水状态,现在又要面临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标准模板库专项复习总结(一)相关推荐

  1. java标签库 taglib pdf格式_JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库...

    JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...

  2. JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库

    JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...

  3. C++ 标准模板库(STL)

    C++ 标准模板库(STL) C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列) ...

  4. 【C++】 C++标准模板库(十二) 迭代器和STL

    1. C++ Iterators(迭代器) 迭代器可被用来访问一个容器类的所包函的全部元素,其行为像一个指针.举一个例子,你可用一个迭代器来实现对vector容器中所含元素的遍历.有这么几种迭代器如下 ...

  5. c++ 的 stl模板库_C ++中的标准模板库(STL)

    c++ 的 stl模板库 Standard Template Library (STL) is a collection of standard C++ template classes. It co ...

  6. C++ 标准模板库(STL)汇总

    一.STL容器概述 C++ STL (Standard Template Library标准模板库)是通用类模板和算法的集合,它给我们提供了一些标准的数据结构的实现如queues(队列), lists ...

  7. STL 标准模板库详细

    STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...

  8. C++ STL 标准模板库

    STL就是Standard Template Library,标准模板库.这可能是一个历史上最令人兴奋的工具的最无聊的术语.从根本上说,STL是一些"容器"的集合,这些" ...

  9. C++标准模板库STL

    目 录 1 STL 简介 ....................................................................................... ...

最新文章

  1. Mysql表结构升级_mysql表结构升级时根据字段是否存在执行相应操作
  2. 0002-Add Two Numbers(两数相加)
  3. zabbix' failed: [1044] Access denied for user 'zab
  4. 2019.01.29【NOIP普及组】模拟赛C组总结
  5. Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
  6. 轻量级数据sqlite的C++调用示例
  7. 智能门锁半夜离奇开门吓坏用户 官方回应:只是一场误解
  8. 都在夸官方文档 Vue.js 2021 年度报告出炉!
  9. mysql5.5免安装包_mysql免安装版5.5
  10. Numpy_where
  11. python 移动文件位置-python实现指定文件夹下的指定文件移动到指定位置
  12. MC 2017数控车床编程基础到精通详细视频教程
  13. 暴力破解之NTscan
  14. 在 ubuntu 的桌面上创建快捷方式
  15. 中美日印程序员收入对比
  16. idea设置单行注释格式(包括配置文件)
  17. 下列4组数据类型中 c语言允许的一组是,下列4组数据类型中,C语言允许的一组是...
  18. pc端微信小程序抓包
  19. PLC脆弱性评估及相应解决方案
  20. java 源码系列 - 带你读懂 Reference 和 ReferenceQueue

热门文章

  1. Geomesa-Hbase单机部署及ingest、export shp文件数据
  2. linux用户不能su: This account is currently not available
  3. 【生活问答】武汉公积金可以在湖北其他城市用吗
  4. Ansible 安装和入门
  5. k8s架构组件功能介绍
  6. Apollo后台配置:添加用户
  7. 01.ShardingSphere笔记
  8. 第一行代码学习笔记第八章——运用手机多媒体
  9. 使用conan编译安装poco
  10. python实现图片转字符画_Python实现图片转字符画的示例代码