看了看博客园的申请时间也一年多了...想想自己一年多以来一直处于各种划水状态,现在又要面临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>(, "student_one"));
mapStudent.insert(pair<int, string>(, "student_two"));
mapStudent.insert(pair<int, string>(, "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类型输入

 #include<cstdio>
#include<iostream>
#include<cstring>
#include<map>
#include<vector>
#include<queue>
#define MAXN
using namespace std;
int n,x,y;
int main(){
ios::sync_with_stdio(false);
map<int,int>m;
m.insert(pair<int,int>(,));
cin>>n;
for(register int i=;i<=n;i++){
cin>>x>>y;
pair<int,int> p (x,y);
m.insert(p);
} cout<<endl;
for(register map<int,int>::iterator i=m.begin();i!=m.end();i++){
pair<int,int>it=*i;
cout<<it.first<<" "<<it.second<<endl;
}
return ;
}
原文: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 ;
}

<Standard Template Library>标准模板库专项复习总结(一)的更多相关文章

  1. <Standard Template Library>标准模板库专项复习总结(二)

    4.队列 先进先出(FIFO)表 头文件:#include<queue> 变量的定义:queue<TYPE>queueName 成员函数: bool empty() 空队列返回 ...

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

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

  3. link-1-STL 标准模板库

    STL(Standard Template Library,标准模版库)是C++语⾔言标准中的重要组成部分.STL以模板类和模版函数的形式为程序员提供了了各种数据结构和算法的实现,程序员吐过能够充分的 ...

  4. C++标准模板库Stand Template Library(STL)简介与STL string类

    参考<21天学通C++>第15和16章节,在对宏和模板学习之后,开启对C++实现的标准模板类STL进行简介,同时介绍简单的string类.虽然前面对于vector.deque.list等进 ...

  5. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  6. 【转】C++标准库和标准模板库

    C++强大的功能来源于其丰富的类库及库函数资源.C++标准库的内容总共在50个标准头文件中定义.在C++开发中,要尽可能地利用标准库完成.这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费 ...

  7. C++ Standard Template Library STL(undone)

    目录 . C++标准模版库(Standard Template Library STL) . C++ STL容器 . C++ STL 顺序性容器 . C++ STL 关联式容器 . C++ STL 容 ...

  8. 【c++】标准模板库STL入门简介与常见用法

    一.STL简介 1.什么是STL STL(Standard Template Library)标准模板库,主要由容器.迭代器.算法.函数对象.内存分配器和适配器六大部分组成.STL已是标准C++的一部 ...

  9. STL 简介,标准模板库

    这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL.  当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...

随机推荐

  1. Otracle数据库定时任务--dbms_job

    一.dbms_job涉及到的知识点 1.创建job: variable jobno number; dbms_job.submit(:jobno, --job号 'your_procedure;'-- ...

  2. 撸了一个微信小程序项目

    学会一项开发技能最快的步骤就是:准备,开火,瞄准.最慢的就是:准备,瞄准,瞄准,瞄准-- 因为微信小程序比较简单,直接开撸就行,千万别瞄准. 于是乎,趁着今天上午空气质量不错,撸了一个小程序,放在了男 ...

  3. php-textarea 换行

    PHP接收表单提交的信息之后 存入数据库 再次从数据库获取数据再前端显示时  空格还有回车都消失了: 解决办法: 1,存入数据库时候进行替换 2,或者在取出数据之后进行替换 然后再在html中显示 s ...

  4. Uva 568 【大整数】

    UVa568 题意:求N!(N<=10000)的最后一位非0数. 10000以内5^5 = 3125最多可以影响后5位.所以直接保存后五位就行. #include<iostream> ...

  5. 基于颜色的R2V软件快速矢量化

    跟同学一起做SRTP,矢量化,作图的工作点名让我去做,人家说,谁让你是学地理信息的呢?哎,什么时候地理信息不再被别人当成制图画图的,我们专业就有希望了. 话虽然这么说,但工作还是要去做. (进入正题) ...

  6. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数 计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() ...

  7. 实现ios后台缩略图模糊的一种方法

    http://blog.sina.com.cn/s/blog_64cfe8f00102ux5t.html 今天玩手机(Iphone)发现应用切换支付宝会变模糊,不禁感叹,细节处理的太到位了.   怎么 ...

  8. QT 建立信号和槽的联系(事件处理)

    Qt中事件处理机制叫做“信号”和“槽”signal &slot. 其模型为: 对象a中有一个信号signal:XXX(代表一个事件) 对象b中有一个槽slot:YYY(事件处理函数) 用con ...

  9. oracle函数 months_between(d1,d2)

    [功能]:返回日期d1到日期d2之间的月数. [参数]:d1,d2 日期型 [返回]:数字 如果d1>d2,则返回正数 如果d1<d2,则返回负数 [示例] select sysdate, ...

  10. 现代IM系统中的消息系统架构 - 模型篇

    前言 在架构篇中我们介绍了现代IM消息系统的架构,介绍了Timeline的抽象模型以及基于Timeline模型构建的一个支持『消息漫游』.『多端同步』和『消息检索』多种高级功能的消息系统的典型架构.架 ...