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. Mac和Xcode常用的快捷键

    Mac电脑一般都不怎么用鼠标,因此除了触摸屏的各种双指.三指甚至四指的操作之外,快捷键的使用可以带来非常大的便利,本文则主要收集整理了自己在Mac常规和Xcode开发过程中常用的一些快捷键. 一.Ma ...

  2. GitLab配置ssh key

    一.背景 当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选择ssh协议来拉取代码.但是网上很 ...

  3. slowhttptest慢攻击工具介绍

    slowhttptest介绍 Slowhttptest是依赖HTTP协议的慢速攻击DoS攻击工具,设计的基本原理是服务器在请求完全接收后才会进行处理,如果客户端的发送速度缓慢或者发送不完整,服务端为其 ...

  4. BZOJ 4816 数字表格

    首先是惯例的吐槽.SDOI题目名称是一个循环,题目内容也是一个循环,基本上过几年就把之前的题目换成另一个名字出出来,喜大普奔亦可赛艇.学长说考SDOI可以考出联赛分数,%%%. 下面放解题报告.并不喜 ...

  5. rtmp指令解释--转

    指令 Core rtmp 语法:rtmp { ... } 上下文:根 描述:保存所有 RTMP 配置的块. server 语法:server { ... } 上下文:rtmp 描述:声明一个 RTMP ...

  6. ExpandableListView的完美实现,JSON数据源,右边自定义图片

    转载请标明出处: http://www.cnblogs.com/dingxiansen/p/8194669.html 本文出自:丁先森-博客园 最近在项目中要使用ExpandableListView来 ...

  7. SQLSERVER 死锁标志

    最开始做DBA的时候,整天死锁到头痛1222,至今都能回想到这个错误窗口: 死锁定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待 ...

  8. TurnipBit-MicroPython开发板:跟孩子一起DIY跳动的心

    天是越来越热了,小心脏也是越跳越快啊,为了表达现在激动的心情,必须做个激动的心开始跳动.紧接着就开始带领大家做个激动的心. 首先说说要借助的平台,这次仅仅需要借助一块TurnipBit开发板. Tur ...

  9. 总结基础OOP(面向对象)

    OOP其实也就是面向对象编程.  一:什么是对象:  我们最常见的理解方式无非是:对象(object)是任何看得见.摸得着.感觉得到,可以获得的东西,有自己的标识的任何东西.对象是某一类的事物的具体个 ...

  10. promise 和 async 的用法

    promise // 先构造一个 promise 函数 // resolve 和 reject 都是一个函数 // resolve 在成功时调用 // reject 在失败时调用 function p ...