STL 精简版

vetor

 #include<vector>
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
vector <int> a;//定义一维数组
vector <int *> tm; //定义二位数组
int b = ;
a.push_back(b);//在数组的最后添加一个数据
a.push_back();
a.push_back();
a.pop_back();//去掉数组的最后一个数据
cout<<a.at()<<endl;//得到编号位置的数据
vector<int>::iterator it;
for(it = a.begin(); it != a.end(); it++){
printf("%d ",*it);
}
puts("");
printf("front = %d; back = %d\n",a.front(),a.back());
it = a.begin();
a.erase(it);//删除指针数据项
for(int i = ; i < a.size(); i++){
printf("%d ",a[i]);
}
puts("");
a.clear();//清空
if(a.empty()) puts("now its over");
return ;
}

set

 #include<set>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
struct Node{
char str[];
bool operator < (const Node a) const {
return (strcmp(str,a.str) <= );
}
};
int main()
{
set<int>s;
s.insert();
s.insert();
s.insert();
//set中不会有重复的元素,所以我们如果需要去重,直接丢到set里是不错的选择
//set可以定义比较函数,因为set可以通过中序遍历直接从小到大的排序输出 //中序遍历
set<int>::iterator it;
for(it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
puts("");
s.erase();//删除键值为2的元素
printf("find(3) = %d\n",s.find());
for(it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
puts("");
s.clear();//清空set
if(s.empty()) puts("Now its over"); set<Node> n;
Node tm;
tm.str[] = 's'; tm.str[] = 'o';tm.str[] = ;
n.insert(tm);
Node tm2;
tm2.str[] = 'g'; tm2.str[] = 'e';tm2.str[] = ;
printf("%d\n", (tm < tm2));
printf("%d\n", (strcmp("ge", "so")));
tm.str[] = 'g'; tm.str[] = 'e';tm.str[] = ;
n.insert(tm);
tm.str[] = 's'; tm.str[] = 'i';tm.str[] = ;
n.insert(tm);
tm.str[] = 'b'; tm.str[] = 'e';tm.str[] = ;
n.insert(tm);
tm.str[] = 'd'; tm.str[] = 'n';tm.str[] = ;
n.insert(tm);
set<Node>::iterator p;
for(p = n.begin(); p!=n.end(); p++ ){
printf("%s ",(*p).str);
}
puts("");
return ;
}

stack

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
using namespace std; int main()
{
stack<int> st;
st.push();
st.push();
st.push();
while(!st.empty()){
printf("%d ", st.top());
st.pop();
}
puts("");
printf("size = %d\n",st.size());
return ;
}

queue

 #include<cstdio>
#include<queue>
using namespace std;
int main()
{
queue<int> qu;
for(int i = ; i < ; i++){
qu.push(i);
}
printf("front = %d; back = %d\n",qu.front(), qu.back());
while(!qu.empty()){
printf("%d ",qu.front());
qu.pop();
}
puts("");
printf("size = %d\n",qu.size());
return ;
}

priority_queue

 #include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
int main()
{
priority_queue<int> q;
for(int i = ;i < ; i++) q.push(i);
while(!q.empty()){
printf("%d ",q.top());
q.pop();
}
puts("");
return ;
}

stl总结精简版的更多相关文章

  1. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  2. ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址

    原版ArcGIS for Desktop的ISO文件一般都在4.5G以上,一般人用不上里面很多工具,下载回来又浪费时间,现推出ArcGIS10.2.1精简版(里面只包含主程序.Data Interop ...

  3. TeamViewer12.0.71503(远程控制软件)精简版 单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...

  4. Log4j快速使用精简版

    Log4j快速使用精简版 1.导入log4j-1.2.17.jar包 2.在src根目录下创建log4j.properties文件 log4j.rootLogger=INFO, CONSOLE, FI ...

  5. VMware10.06精简版安装后台运行

    VMware10.06精简版安装时会出现一个安装功能选择菜单,里面有一条后台运行必选功能,一般人会跳过条.当你打算在服务器上用vmware时,一定要安装后台运行服务,否则你无法换出正在运行的后台虚拟机 ...

  6. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

    利用周末时间将整个电脑格式化,换成了ubuntu系统- 所谓:扫清屋子再请客! 但是有些软件只在win上有,于是还是考虑装个虚拟机来个——逐步过度策略,一点点地从win上转移到linux上 我的系统是 ...

  7. 电脑公司最新GHOST WIN7系统32,64位优化精简版下载

    系统来自系统妈:http://www.xitongma.com 电脑公司最新GHOST win7系统32位优化精简版V2016年3月 系统概述 电脑公司ghost win7 x86(32位)万能装机版 ...

  8. TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...

  9. centos7精简版(minimal)killall: command not found

    centos7精简版(minimal)运行killall命令提示 command not found 是由于没有安装psmisc所致 Psmisc软件包包含三个帮助管理/proc目录的程序. 安装下列 ...

随机推荐

  1. (转)为Xcode添加删除行、复制行快捷键

    转摘链接:http://www.jianshu.com/p/cc6e13365b7e 在使用eclipse过程中,特喜欢删除一行和复制一行的的快捷键.而恰巧Xcode不支持这两个快捷键,再一次的恰巧让 ...

  2. iOS UIAlertController在Tableview中显示缓慢,迟钝,延迟

    在UITableViewCell中弹窗Alert延迟.在cellForRow中:cell.selectionStyle = UITableViewCellSelectionStyleNone; 或者在 ...

  3. 《跟我学IDEA》五、快捷键(编码利器)

    上一篇博文,我们学习了idea的一些模版配置,但是只有模版是不行的,一款编辑器如何能为我们灵活的使用,快捷键的功劳不用多说大家也明白.今天我们就来学习快捷键的配置以及一些常用的快捷键的介绍,为让家能更 ...

  4. js功能代码大全

    1.日期格式化 //化为2017-08-14 function formatDate (date) { var y = date.getFullYear(); var m = date.getMont ...

  5. TreeMap源码

    一.TreeMap简介 TreeMap是基于红黑树的java版实现,作者Josh Bloch and Doug Lea(这二人在java发展的早期做了重大贡献,比如集合框架JDK1.2.并发包JDK1 ...

  6. The Hungarian Abhorrence Principle

    原文:http://www.butunclebob.com/ArticleS.UncleBob.TheHungarianAbhorrencePrinciple    The Hungarian Abh ...

  7. 【liferay】3、liferay 添加spring支持

    1.添加对应的spring的jar 地址:https://spring.io/projects 选中springframework 进入git源码的地方,看简介 我们需要编译好的jar 当然也可以自己 ...

  8. day 10 字符编码和文件处理 细节整理

    pycharm是文本编辑器. 大概理解为:  输出到屏幕上的时候,是解码过的字符串,用 decode 处理的时候要编码成相应的流, encode 成你要用的格式就可以了 1 .字符编码: 字符==== ...

  9. 一些JavaScript技巧

    1.获取浏览器的高度和宽度(不包括工具栏和滚动条): var w=window.innerWidth //现代浏览器 || document.documentElement.clientWidth / ...

  10. TurnipBit:DIY音乐盒教程实例

    一款可以自己DIY的音乐盒,要什么曲子,就自己谱曲啦!为他(她)制作一首他喜欢的音乐,来代表您的心意,也可以让他自己来制作他最爱的音乐哦!更可以带孩子一起体验谱写欢快的音乐. 最近发现一很好玩的中国式 ...